我有另一个这些“无法加载文件或程序集或其依赖项之一”的问题。

附加信息:无法加载 文件或程序集 “Microsoft.Practices.Unity, Version = 1.2.0.0、文化=中立, 都31 bf3856ad364e35”或 它的依赖项之一。在位于 程序集的显式定义可以 不匹配程序集引用。 (异常来自HRESULT: 0x80131040)

我不知道是什么导致了这种情况,也不知道如何调试它来找到原因。

我在我的解决方案目录.csproj文件中做了一个搜索,我有Unity的每个地方:

参考 包括= " Microsoft.Practices.Unity, Version = 2.0.414.0、文化=中立, 都31 bf3856ad364e35, processorArchitecture = MSIL”

在我的任何项目中都找不到任何与1.2.0.0相反的参考。

我该怎么解决这个问题呢?


当前回答

我也得到了这个可怕的错误,并找到了一个解决方案…

右键单击解决方案名称 点击清洁溶液 重启Visual Studio 去项目属性>>构建 将配置更改为发布 开始调试(F5)

1), 2)

4), 5)

希望这也能帮助到你。

其他回答

谢谢Riddhi M。 下面的方法对我很有效。

删除临时文件C:\Windows\Microsoft.NET\Framework\v4.0.30319\临时ASP. net网络文件 关闭VSTS,然后重新打开 删除和添加相同的dll(注意:您添加了相同的匹配版本)

Goto:解决方案->包 点击高级选项卡(在页面下方找到) 将您的dll添加到其他程序集(这样我们就可以在sharepoint中添加外部dll)。

你必须从你的输出文件夹中删除你的appname.dll文件。 清理调试和释放文件夹。 重建并复制到输出文件夹重新生成的dll文件。

对我来说,其他的解决方案都不起作用(包括清洁/重建策略)。我找到了另一个解决方案,即关闭并重新打开Visual Studio。

我想这会迫使Visual Studio重新加载解决方案和所有项目,重新检查流程中的依赖项。

尽管最初的问题是五年前发布的,但这个问题仍然存在,而且相当烦人。

一般的解决方案是彻底分析所有引用的程序集,以了解哪里出了问题。为了使这个任务更容易,我做了一个工具(一个Visual Studio扩展),它允许选择一个. net程序集(一个.dll或.exe文件)来获得所有引用程序集的图形,同时突出显示冲突或缺失的引用。

该工具可在Visual Studio Gallery中获得:https://marketplace.visualstudio.com/vsgallery/051172f3-4b30-4bbc-8da6-d55f70402734

输出示例: