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

附加信息:无法加载 文件或程序集 “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相反的参考。

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


当前回答

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

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

其他回答

你说你的解决方案中有很多项目……好吧,从接近构建顺序顶部的一个开始。建立一个,一旦你找到它,你可以应用相同的修复其余的。

老实说,你可能只需要更新一下你的推荐信。这听起来像是您更新了版本而没有更新引用,或者如果您将解决方案保留在源代码控制中,这是一个相对路径问题。只需验证您的假设,并重新添加参考。

对我来说,似乎Nuget并没有很好地处理我的项目/解决方案。我用Nuget安装了NewtonSoft。项目文件似乎正确地引用了它,当我在解决方案资源管理器/依赖项/Nuget中r -点击dll名称时,然后单击属性,我发现dll存在于属性说它应该在的地方。

我删除了Nuget包,并做R-click项目>添加>引用,并浏览到包目录中的dll,当以前的Nuget进程已经安装它时,然后解决方案运行良好。

注意:这个解决方案相当大杂烩,首先是Xamarin。iOS解决方案和添加。net标准项目(这是我使用Nuget有困难的地方)。解决方案中还有一个“可移植”项目。我从一个已经离开3年的开发者那里继承了所有这些。哈哈。

对我来说,这是一个奇怪的解决方案,但我刚刚从源代码控制中获取了这个解决方案。

正在得到此错误,检查了上面的大部分答案,然后删除解决方案并从源代码控制中重新拉出解决方案。

工作。

只会适用于少数人,但我想我是少数人之一,所以会有更多。不知道第一次发生了什么,但不知怎的,当我把它们拉过去时,一些程序集肯定有一些问题。

基本上就是把它关掉再打开。

打开IIS管理器

选择应用程序池

然后选择您正在使用的池

进入高级设置(在右侧)

将“启用32位应用程序”的标志为true。

这个问题发生在我身上,我的一个依赖库正在用“Any CPU”编译DLL,而父库期望编译“x64”。