Visual studio 2008 是否缺少程序集引用?

Visual studio 2008 是否缺少程序集引用?,visual-studio-2008,assemblies,visual-sourcesafe,Visual Studio 2008,Assemblies,Visual Sourcesafe,我得到了joyous的“类型或命名空间名称”Something“不存在于命名空间“Something other”(是否缺少程序集引用?)错误 我得到的是一个网站项目,它包含网站本身以及网站所依赖的几个其他自定义项目。我遇到的问题是网站所依赖的一个项目,我们称之为A。它依赖于一个不同的定制项目,称为B 因此,B是解决方案的一部分,我可以成功地构建B。A引用了B,看起来没有任何错误(没有小的黄色三角形感叹号)。网站本身的Bin文件夹中也有A和B的DLL。它还有一个不正确的dll.refresh文件

我得到了joyous的“类型或命名空间名称”Something“不存在于命名空间“Something other”(是否缺少程序集引用?)错误

我得到的是一个网站项目,它包含网站本身以及网站所依赖的几个其他自定义项目。我遇到的问题是网站所依赖的一个项目,我们称之为A。它依赖于一个不同的定制项目,称为B

因此,B是解决方案的一部分,我可以成功地构建B。A引用了B,看起来没有任何错误(没有小的黄色三角形感叹号)。网站本身的Bin文件夹中也有A和B的DLL。它还有一个不正确的dll.refresh文件(路径错误)。但是,手动更正dll.refresh似乎没有效果。从网站的bin文件夹中删除这些文件也没有效果

我还尝试从解决方案中删除A和B,然后读取它们。我还尝试删除A对B的引用,然后再次添加它(从项目选项卡和手动浏览到.dll本身)

我也将这个可视化源代码标记为安全的,因为在我从源代码管理获得最新版本之前,项目一直在运行,所以这个问题肯定与我的一位同事所做的一些更改有关(有意识的或其他的)。我怀疑这是由项目的不同文件系统布局引起的,但我不确定,如果是这样的话,我不明白为什么我无法解决这个问题

这是融合日志的结果,我还没有完全理解

*** Assembly Binder Log Entry (10/20/2009 @ 1:43:06 PM) *** The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = NT AUTHORITY\NETWORK SERVICE LOG: DisplayName = A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-specified) LOG: Appbase = file:///C:/source/ProjectRoot/Project/Website/ LOG: Initial PrivatePath = C:\source\ProjectRoot\Project\Website\bin LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: Cache Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: AppName = 1601d5b6 Calling assembly : ProjectBO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\source\ProjectRoot\Project\Website\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.EXE. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.EXE. LOG: All probing URLs attempted and failed. ***装配活页夹日志条目(2009年10月20日下午1:43:06)*** 操作失败。 绑定结果:hr=0x80070002。系统找不到指定的文件。 从以下位置加载的程序集管理器:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 在可执行文件C:\Windows\SysWOW64\inetsrv\w3wp.exe下运行 ---下面是详细的错误日志。 ==预绑定状态信息=== 日志:用户=NT授权\网络服务 日志:DisplayName=A,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null (详细说明) 日志:Appbase=file:///C:/source/ProjectRoot/Project/Website/ 日志:初始PrivatePath=C:\source\ProjectRoot\Project\Website\bin 日志:Dynamic Base=C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NET临时文件\root\6db59b13 日志:Cache Base=C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 日志:AppName=1601d5b6 调用程序集:ProjectBO,版本=1.0.0.0,区域性=中立,PublicKeyToken=null。 === 日志:此绑定在默认加载上下文中启动。 日志:使用应用程序配置文件:C:\source\ProjectRoot\Project\Website\web.config 日志:使用主机配置文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config 日志:使用C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config中的计算机配置文件。 日志:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。 日志:正在尝试下载新URLfile:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET文件/root/6db59b13/1601d5b6/A.DLL。 日志:正在尝试下载新URLfile:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET文件/root/6db59b13/1601d5b6/A/A.DLL。 日志:正在尝试下载新URLfile:///C:/source/ProjectRoot/Project/Website/bin/A.DLL. 日志:正在尝试下载新URLfile:///C:/source/ProjectRoot/Project/Website/bin/A/A.DLL. 日志:正在尝试下载新URLfile:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET文件/root/6db59b13/1601d5b6/A.EXE。 日志:正在尝试下载新URLfile:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET文件/root/6db59b13/1601d5b6/A/A.EXE。 日志:正在尝试下载新URLfile:///C:/source/ProjectRoot/Project/Website/bin/A.EXE. 日志:正在尝试下载新URLfile:///C:/source/ProjectRoot/Project/Website/bin/A/A.EXE. 日志:所有探测URL都已尝试但失败。
从这一行判断:“LOG:Initial PrivatePath=C:\source\ProjectRoot\Project\Website\bin”它看起来像是在网站bin中的dll之后,而不是在与项目A关联的dll之后。但是,我没有看到任何关于B的提及。无论如何,希望这能有所帮助,顺便说一句,我会继续研究Fusion这个很酷的工具

在这种情况下,融合日志始终是一个良好的起点

如果我不得不猜测的话,你的一个队友已经将B项目的引用(正确的方式)更改为B的实际副本(通过浏览B项目的Bin文件夹并添加对在那里找到的DLL的引用)

清理解决方案,从A中删除对B的引用,生成B,将项目引用添加到B,重新生成并测试A


如果这解决了问题,请召集您的同事,向他们解释直接引用DLL的危险

结果是一个队友重命名了一个名称空间,所以我真的错过了一个程序集引用,我只是认为我没有。感谢Will的帮助。

当目标框架为“.NET Framework 4客户端配置文件”的项目引用目标框架为“.NET Framework 4”的项目时,我遇到了此错误


如果不是原始海报,希望这对某人有所帮助。

这不起作用。为了达到110%的清晰程度,我假设当您说“清洁您的解决方案”时,您的意思是右键单击解决方案文件并选择“清洁解决方案”选项。当你说给B添加一个项目引用时,我想你的意思是浏览到特定的项目(在本例中为B)并通过“项目”选项卡在“引用”下添加一个引用。我还不能让Fusion获取在VS中编译的结果,但我已经从尝试查看中获得了结果