1

我在以前的机器上运行良好,但我买了一台新机器并在那里安装了我需要的一切(Win 7 x64 Enterprise,VS 2010 Proffesional SP1),我从我的 CVSNT 存储库下载了几个项目。

现在,在新 PC 中,我在运行应用程序时遇到了很多安全问题。最后一个说类似

尝试通过安全透明方法“Namespace.class.method()”访问安全关键方法“Namespace.class.method()”失败。

程序集“Assembly”使用 AllowPartiallyTrustedCallersAttribute 进行标记,并使用 2 级安全透明模型。2 级透明度会导致 AllowPartiallyTrustedCallers 程序集中的所有方法默认变为安全透明,这可能是此异常的原因。

在此之前从未发生过,现在几个信任问题一直困扰着。

我以管理员身份运行 VS 并且没有启用 UAC。

关于如何解决这个问题以及为什么我的所有项目都存在信任问题的任何建议?

4

1 回答 1

2

这是该项目第一次与 .Net 4.0 一起编译或使用吗?如果是这样,那么 .Net 4.0 中的安全模型已经发生了变化。微软试图简化代码访问安全 (CAS) 模型。桌面应用程序和其他非框架代码现在默认有一些限制,这些限制是在运行时而不是编译时或程序集加载时强制执行的。

要修复它,您可能需要添加[assembly:SecurityRules(SecurityRuleSet.Level1)]到您的AssemblyInfo.cs文件中。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd233103(v=VS.100).aspx中的详细说明。

于 2012-09-04T01:35:25.170 回答