我正在开发一个asp.net网站(解决方案类型是网站),还有一个程序集X。
这里的奇怪行为是,Visual不是从Bin文件夹中选择版本,而是从对象浏览器中标识的某个临时位置选择同名但更高版本的另一个程序集,如下所示:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\alahlibank\10cbb559_shadow\a12d1777\3960\
真正让我感到不安的是,这个程序集甚至不在GAC中,它排除了从那里提取的可能性(没有明确的名称)
每当我试图编译项目时,它都会失败,因为它引用的是错误的程序集

有关此情况的其他信息是,bin文件夹中提供的版本为v1.0.0.0,而获取的版本(我不知道从哪里获取)为v3.0.0.0,但名称相同。


发布于 2014-06-27 07:40:12
以防万一有人有这种“奇怪”的事情发生,签署并部署到GAC似乎解决了这个问题。
buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/
引用@stakx
也许您应该看看“临时ASP.NET文件”文件夹是什么。考虑一下DLL的3.0.0.0版本最初是如何实现的,这可能会为您的问题提供一些线索。(也许是通过ASP.NET完成的动态编译;提到一个名为App_Code…的程序集在你的一个截图中,似乎暗示了这一点。)
https://stackoverflow.com/questions/24401688
复制相似问题