装配未识别的装载行为

时间:2014-06-25 06:29:16

标签: .net visual-studio-2012 .net-assembly assembly-resolution

我正在开发一个asp.net网站(解决方案类型是网站),并且有一个程序集X.
这里奇怪的行为是Visual Studio没有从Bin文件夹中选择版本,而是在对象浏览器中标识的某个临时位置具有相同名称但更高版本的另一个程序集,如下所示:

  

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET   文件\ alahlibank \ 10cbb559_shadow \ a12d1777 \ 3960 \

真正让我感到震惊的是,装配在GAC中甚至没有丢掉它从那里取出的可能性(没有强烈命名)

每当我尝试编译项目时,它都会失败,因为它引用了错误的程序集

enter image description here

有关这种情况的其他一些信息是bin文件夹中提供的版本是v1.0.0.0,而获取的版本(我不知道从哪里开始)是v3.0.0.0但具有相同的名称< / p>

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

万一有人有这个&#34;怪异的&#34;正在进行的事情,签署和部署到GAC似乎解决了这个问题 buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/

引自@stakx

  

也许你应该研究一下&#34;临时ASP.NET文件&#34;文件夹是。考虑一下你的DLL 3.0.0.0版本是如何实现的,可能会对你的问题有所了解。 (也许是通过ASP.NET完成的动态编译;在你的一个截图中提到一个名为App_Code的程序集......似乎暗示了这一点。)