nig*_*der 133 debugging release resolveassemblyreference visual-studio
最近我开始随机收到这条消息:
在Visual Studio中找不到元数据文件'...\Release\project.dll'
我有一个包含几个项目的解决方案.当前的构建模式是Debug,所有项目的配置都设置为Debug.但是当我尝试运行主项目时 - 有时它会给我一些错误,所有这些都是"元数据文件'...\Release\projectX.dll'找不到" - 而且,看,它说的是关于RELEASE文件夹,虽然当前模式是Debug.为什么?我试图在所有解决方案文件中搜索"Release\projectX.dll"的引用,我在ResolveAssemblyReference.cache文件中找到了一个.
我通过互联网进行了很好的搜索,发现了一些有类似问题的人,但没有解决方案,或者至少没有可行的解决方案.
我试图删除对这些项目的引用并阅读它们,但有一段时间我又开始重新获得这些错误.
这似乎是个bug.当我总是使用调试模式时,为什么要在Release文件夹中搜索引用的项目?
PS.对于那些遇到这个问题的人:我无法轻易解决它.它重新安装Windows后才消失:(
bea*_*mes 136
每个人都是正确的...尝试一切......(按一点点浪费很多时间)
小智 21
我有同样的问题.拥有50多个项目的大视觉工作室解决方案
所有参考文献都作为项目添加.项目构建顺序是正确的(右键单击项目并选择构建顺序).
但是,在构建一些较高级别的项目时,他们所依赖的"根"项目并未构建.
问题是这些项目没有选择在当前配置下构建(不知道这是怎么发生的).
要选中此选项,请选择"Configuration Manager"("构建"菜单),然后检查是否将有问题的项目设置为构建.
Dar*_*weg 16
当您说您删除了对这些项目的引用并重新添加它们时,您是如何重新添加它们的呢?您是否在Visual Studio的"添加引用"对话框中使用"浏览"选项卡?或者,您是否使用了"项目"选项卡(列出了解决方案中的相邻项目)?
编辑:如果您使用"浏览"选项卡,并手动添加对位于/ Release文件夹中的.dll的引用,则Visual Studio将始终在该位置查找.dll,无论您使用何种模式目前在(调试或发布).
如果您从Release文件夹中删除了实际的.dll文件(手动或通过"清理解决方案"),那么您的引用将会中断,因为.dll不存在.
我建议删除对ProjectX.dll的引用,并再次添加它 - 但这一次,使用"添加引用"对话框中的"项目"选项卡.当您以这种方式添加引用时,Visual Studio知道从哪里获取相应的.dll.如果您处于调试模式,它将从/ Debug文件夹中获取它.如果处于发布模式,则为/ Release文件夹.您的构建错误应该消失,并且在调试模式下您也将不再(不正确地)引用Release .dll.
Vik*_*ram 15
好吧,我的答案不仅仅是所有解决方案的总结,而且还提供了更多.
第(1)节:
一般解决方案:
我有4个这种错误('无法找到元数据文件')以及1错误说'源文件无法打开('未指定错误')'.
我试图摆脱'无法找到元数据文件'的错误.为此,我阅读了许多帖子,博客等,发现这些解决方案可能有效(在此汇总):
重启VS并再次尝试构建.
转到"解决方案资源管理器".右键单击Solution.转到" 属性".转到"配置管理器".检查是否选中了"Build"下的复选框.如果未选中任何一个或全部,请检查它们并再次尝试构建.
如果上述解决方案不起作用,则按照上面步骤2中提到的顺序进行操作,即使选中了所有复选框,也要取消选中它们,再次检查并再次尝试构建.
构建顺序和项目依赖性:
转到"解决方案资源管理器".右键单击Solution.转到"项目依赖关系......".您将看到2个选项卡:"依赖关系"和"构建顺序".此构建顺序是构建解决方案的顺序.检查项目依赖项和构建顺序,以验证依赖于其他项目(比如'project2')的某个项目(比如'project1')是否正在尝试在该项目之前构建(project2).这可能是导致错误的原因.
检查丢失的.dll的路径:
检查丢失的.dll的路径.如果路径包含空格或任何其他无效路径字符,请将其删除并再次尝试构建.
如果这是原因,则调整构建顺序.
第(2)节:
我的具体案例:
我尝试了上面的所有步骤,其中包含各种排列和组合,重启VS几次.但是,它没有帮助我.
所以,我决定摆脱我遇到的其他错误('源文件无法打开('未指定错误')').
我遇到了一个博客:http: //www.anujvarma.com/tfs-errorsource-file-could-not-be-opened-unspecified-error/#comment-1539
我尝试了那个博客中提到的步骤,我摆脱了错误'源文件无法打开('未指定错误')',令人惊讶的是我摆脱了其他错误('无法找到元数据文件').
第(3)节:
故事的道德启示:
尝试上面第(1)节(以及任何其他解决方案)中提到的所有解决方案以消除错误.如果没有任何效果,根据上面第(2)节中提到的博客,从.csproj文件中删除源控件和文件系统中不再存在的所有源文件的条目.
jas*_*onh 11
我之前遇到过这个问题,我发现解决它的唯一方法是运行Clean Solution然后重新启动Visual Studio.
我似乎记得几个月前也遇到过类似的问题。我通过将引用的DLL复制到Release文件夹中暂时解决了这个问题,从而满足了Visual Studio的期望。后来我在实际代码中发现了对Release DLL的引用。您应该尝试在整个项目中搜索 \release\project.dll。
另外,我注意到 Visual Studio 单元测试项目有时会在指向目标 DLL 的每个测试方法上放置一个“DeploymentItem”属性,如果您在“调试”和“发布”之间切换,如果 DLL 不再存在,Visual Studio 可能会感到困惑。在预期的位置。根据我的经验,如果您没有自己将这些属性作为“单一部署”方案的一部分放置在那里,则可以安全地删除它们。
归档时间: |
|
查看次数: |
182736 次 |
最近记录: |