我在使用 VS2010 时遇到了一个奇怪的问题。我们使用 TFS 来构建我们的 API dll,并且我们过去常常在我们的项目中引用它们,使用完全信任的映射网络驱动器。我们已经这样工作了至少两年,一切都很顺利。
今天,我将一个 webapp 转换为 vs2010,当我在 Release 中编译它时,它给了我:
SGEN:错误:无法加载文件或程序集 'file:///L:\Api\Release API_20100521.1\Release\CS.API.Exceptions.dll' 或其依赖项之一。不支持操作。(来自 HRESULT 的异常:0x80131515)
奇怪的是,当它在调试配置文件下时它正在工作......
我尝试添加
<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,因为我们的代码在 prod 中不会从网络共享运行,因为所有引用的 dll 都被复制到 bin 文件夹中。
如果有人有解决方案(或只是搜索路径的想法),请告诉我!
编辑:事实证明它在调试模式下工作,因为序列化程序集的生成已关闭。正如标题所说,这确实是一个 SGEN 问题,因为正是这个实用程序说该路径不受信任......