Dev*_* IT 105 msbuild sgen .net-4.0 visual-studio-2010 tfsbuild
我遇到了VS2010的一个奇怪问题.我们使用TFS来构建我们的API dll,我们曾经在我们的项目中引用它们,使用一个完全可信的映射网络驱动器.我们一直在这样工作至少两年,一切都很完美.
今天,我将一个webapp转换为vs2010,当我在Release中编译它时,它给了我:
SGEN:错误:无法加载文件或程序集'file:/// L:\ Api\Release API_20100521.1\Release\CS.API.Exceptions.dll'或其依赖项之一.不支持操作.(HRESULT异常:0x80131515)
奇怪的是,当它在Debug配置文件下时它正在工作......
我试过添加
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
Run Code Online (Sandbox Code Playgroud)
进入app.config但仍然没有运气(参见http://social.msdn.microsoft.com/Forums/en/msbuild/thread/d12f6301-85bf-4b9e-8e34-a06398a60df0和http://msdn.microsoft.com/ en-us/library/dd409252(VS.100).aspx)
我很确定这个问题来自visual studio或msbuild,因为我们的代码在prod时不会从网络共享运行,因为所有引用的dll都被复制到bin文件夹中.
如果有人有解决方案(或只是搜索路径的想法),请告诉我!
编辑:事实证明它在调试模式下工作,因为生成的序列化程序集已关闭.正如标题所说,它确实是一个SGEN问题,因为正是这个实用程序说路径不可信...
Sla*_*ggg 211
我能够通过在Windows资源管理器中找到程序集DLL,右键单击,选择"属性",然后按"取消阻止"按钮来修复此错误.DLL有一个流将其标记为外部文件 - 通过单击取消阻止,您删除该指定.
Mar*_*ahl 58
我在TFS构建服务器上遇到了相同/类似的问题,其中构建从网络共享引用了dll.
问题是CLR v4安全策略模型自以前的版本以来已经发生了变化,并且不像以前那样是沙盒程序集.
要解决您的问题,只需找到sgen.exe的位置,并在同一文件夹中创建一个sgen.exe.config,其中包含以下内容:
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
sgen.exe通常在
"C:\Program Files\Microsoft SDKs\Windows\v[current version]\bin\NETFX 4.0 Tools"
Run Code Online (Sandbox Code Playgroud)
您可以在此博客文章中看到有关.NET 4.0中CAS策略的一些更改:链接
Rob*_*Rob 21
有相同的问题和配置更改不起作用.只有当我在项目属性中将Generate Serialization Assembly设置为off时才能正常工作.
我有同样的错误,发现我的DLL被"阻止".在资源管理器中打开DLL,右键单击 - >属性 - >按"取消阻止".
http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html
归档时间: |
|
查看次数: |
60927 次 |
最近记录: |