VSTS 2010 SGEN:错误:无法加载文件或程序集(从HRESULTexception:0x80131515)

我遇到了VS2010的一个奇怪的问题。 我们使用TFS来构build我们的API dll,并且我们曾经在我们的项目中引用了他们使用完全可信的映射networking驱动器。 我们一直这样工作至less两年,一切都很完美。

今天,我将一个webapp转换为vs2010,当我在Release中编译它时,它给了我:

SGEN:错误:无法加载文件或程序集文件:/// L:\ Api \ Release API_20100521.1 \ Release \ CS.API.Exceptions.dll或其依赖项之一。 操作不受支持。 (从HRESULTexception:0x80131515)

奇怪的是,它正在debuggingconfiguration文件下工作…

我尝试添加

<runtime> <loadFromRemoteSources enabled="true" /> </runtime> 

到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,因为我们的代码不会从networking共享运行时,因为所有引用的DLL被复制到bin文件夹。

如果有人有解决scheme(或只是一个searchpath的想法),请让我知道!

编辑:事实certificate,它是在debugging模式下工作,因为生成序列化程序集closures。 正如标题所说,这实际上是一个SGEN的问题,因为它是这个实用程序,说path不被信任…

我能够通过在Windows资源pipe理器中查找程序集DLL,右键单击,select“属性”,然后按“解除阻止”button来修复此错误。 该DLL有一个stream标记为外部文件 – 通过点击解除阻止您删除该指定。

我刚刚在TFS构build服务器上出现相同/类似的问题,其构build引用的是dll的networking共享。

问题在于CLR v4安全策略模型自以前的版本发生了变化,并且不像以前那样使用沙盒组件。

要解决您的问题,只需findsgen.exe的位置,并在以下内容的同一文件夹中创build一个sgen.exe.config:

 <configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration> 

sgen.exe通常在

 "C:\Program Files\Microsoft SDKs\Windows\v[current version]\bin\NETFX 4.0 Tools" 

您可以在此博客文章中阅读关于.NET 4.0中CAS策略的一些更改: 链接

有相同的问题和configuration更改没有工作。 只有当我设置生成序列化Assambly在项目属性closures它工作。

我有相同的错误,发现我的DLL被“封锁”。 在资源pipe理器中打开DLL,右键 – >属性 – >按“解锁”。

http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html

我有这个完全相同的问题,并通过在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0工具下添加sgen.exe.config来修复它

像其他人所说的那样简单的configuration

 <?xml version ="1.0"?> <configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration> 

对于那些运行64位版本的TFS构build服务的用户,我必须在以下path中创buildconfiguration文件:

  C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64 

和文件内容:

 <?xml version ="1.0"?> <configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration> 

我有同样的问题,在GAC中加载程序集并工作

将下面的代码片段添加到app.config文件中工作在我的情况。 我正在运行Windows XP,带有VS2010 Service Pack 1。

 <configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration> 

就像运行Windows 7一样,可以在以下位置findsgen.exe文件:

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0工具

我必须创build一个sgen.exe.config并将其放置在那里,然后这个问题就消失了。

unblockconfig都没有为我工作。 对我来说, 这个技巧是关于caspol这个技巧的 。 我跑了

  %windir%\Microsoft.NET\Framework\v2.0.50727\CasPol.exe -m -ag 1.2 -url file://UncPathName/UncSubPath/* FullTrust 

而且我准备好了,甚至不需要重新启动VisualStudio。

我遇到了类似的问题,最后我通过删除解决scheme的“属性”文件夹中的licenses.licx文件来解决此问题。

就像我一样,解锁不是一个解决scheme,因为解锁不会出现在我的dll文件属性。 不停地看,最后closures我的解决scheme文件,并重新打开使用本地C:复制,而不是networkingUNCpath项目sln文件。 经过这条路线后能够发布。