gpt4 book ai didi

c# - 无法生成临时类(结果=1)CS0200

转载 作者:行者123 更新时间:2023-11-30 16:59:19 26 4
gpt4 key购买 nike

我有一个正在序列化/反序列化的类,它在大多数机器上工作正常,但在其他机器上不起作用(我无法辨别差异,尽管在出现问题的框中我看到了其他问题其中有“安全/权限”问题的提示[特别是我的应用程序可以创建一个文件夹,但随后无法向其中写入文件......很奇怪,但不是主要问题])。

我得到的错误是:

Unable to generate a temporary class (result=1).
error CS0200: Property or indexer 'Namespace.Object.ParentOrganizations' cannot be assigned to -- it is read only

以下是属性:

    public List<long> ParentOrganizations
{
get
{
return m_OrganizationIDs;
}
internal set
{
m_OrganizationIDs = value;
}
}

如果我将“set”更改为 public 它确实有效,但我想知道为什么我必须只在几个特定的​​盒子上这样做......所以我可以帮助评估为什么这个和另一个 发生奇怪的问题。我认为在我的应用程序中一次修复一个奇怪的问题比查找和解决系统配置问题更麻烦(而且可能是错误的)。

更新:授予 localMachine\Everyone 对执行文件夹的完全权限也可以解决此问题,但这不是一个好的长期解决方案。

最佳答案

假设您使用的是通用序列化器之一,您面临的问题是序列化器自身根本无法设置 ParentOrganizations 属性,因为 internal 访问修饰符限制了对所有调用者的访问不在同一个程序集中,那么属性是。这会导致序列化器(位于另一个组件中)抛出此异常,因为不允许他访问该属性。

关于c# - 无法生成临时类(结果=1)CS0200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com