asp.net - Visual Studio 2013 拒绝构建解决方案,显示 "Could not load file or assembly ... Failed to grant minimum permission requests"、 0x80131417

标签 asp.net visual-studio-2013 windows-8.1 cas activereports

我有一个 VS 解决方案,用于构建良好。它在 VS 2010 中一直构建得很好,直到我对引入第三方库(在本例中为 ActiveReports3)的项目进行了一些修改,此时我无法再成功构建解决方案。相反,我收到以下错误(其中 XX 是相关项目的名称):

File: LC
Line:
Column:
Project: XX
Description: 'Could not load file or assembly 'ActiveReports3, Version=5.3.1436.2, Culture=neutral, PublicKeyToken=cc4967777c49a3ff' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)'

注意,这不是执行过程中的异常;这是一个构建时错误,导致构建无法成功完成。

我通过谷歌搜索找到的大部分内容都表明我应该使用 .NET Framework 配置工具来创建 CAS 策略。这也是我自己的第一猜测。然而,it looks like that was retired with the introduction of .NET 4 ,尽管在“添加/删除 Windows 功能”中显示已安装 .NET 旧版本,但在我的 Windows 8.1 开发计算机上却找不到它。我发现的许多页面和帖子也有 5 年以上的历史。

MSDN indicates I should be able to add a bit to my web.config设置信任级别。但是,我尝试添加为:

<configuration>
  <system.web>
    <trust legacyCasModel="True" level="Full"/>  <-- this line is what I really added
  </system.web>
</configuration>

但这似乎并没有改变任何事情。有趣的是,Visual Studio 不喜欢 legacyCasModel="True" 部分,并提示“不允许使用 'legacyCasModel' 属性”。然而,它似乎并没有导致实际的错误。

在解决方案构建和未构建之间,我所做的就是复制一些 C# 源代码文件并修复它们,这样我就不会出现语法错误(例如重复的类名)。

我正在为此抓狂。搁置变革并重建成功。取消搁置更改会导致构建再次失败。看了看架子,我没有发现任何明显的问题。 如何在不更改环境的情况下修复此错误?

相关程序集存储在 UNC 网络共享上。

我检查了项目.NET版本,它设置为.NET Framework 2.0。

我尝试将所有新添加的文件的构建操作设置为“无”,但这似乎并没有带来任何改善。

我尝试使用 .NET 2.0 和 4.0 caspol.exe 添加 CAS 策略两者都返回一条错误消息,仅说明错误:无法加载程序集。我已经验证我能够使用 Notepad++ 在其原始位置打开程序集 DLL。

最佳答案

事实证明,最终的罪魁祸首是项目中的一个属性文件,该文件仅包含一些文本,但构建操作属性字段设置为嵌入式资源。我仍然不太清楚究竟是哪个操作导致该属性明显设置错误。

将该文件的构建操作属性字段更改为似乎已经解决了该问题,并且没有副作用。

所以,看起来最后,错误消息的重要部分是程序集说明符,而“未能授予最低权限请求”实际上是一个错误的线索。因此,检查非源代码项目文件的构建操作属性以确保它们设置正确。

关于asp.net - Visual Studio 2013 拒绝构建解决方案,显示 "Could not load file or assembly ... Failed to grant minimum permission requests"、 0x80131417,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25731135/

相关文章:

asp.net - 文本框的正则表达式验证器

c# - 在default.aspx中调用jquery

javascript - onkeydown ='return (window.event.keyCode doesn' t 允许通过鼠标单击选择输入

visual-studio-2013 - 为 VS2013 安装 SystemC

c++ - Visual Studio 2013 是否以比手动运行 .exe 更高的权限运行应用程序?

asp.net-web-api - 混淆Windows.Web.Http和System.Net.Http中使用哪个版本的HttpClient;

c# - <%# 的新手 - 奇怪的错误

css - 为什么警告 "Selector specificity 0, 2, 0"?

c# - VS2013 : How to make PostBuildEvent depend on the chosen platform?

Windows 8.1 中的蓝牙 A2DP 接收器