Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC3中添加控制器时出现异常-找不到程序集的文件_C#_Asp.net Mvc 3_Visual Studio 2010 - Fatal编程技术网

C# 在MVC3中添加控制器时出现异常-找不到程序集的文件

C# 在MVC3中添加控制器时出现异常-找不到程序集的文件,c#,asp.net-mvc-3,visual-studio-2010,C#,Asp.net Mvc 3,Visual Studio 2010,我正在经历一个让我发疯的奇怪问题。我在VisualStudio2010中有一个MVC3项目,它过去正常工作。出于某种奇怪的原因,当我尝试添加控制器时,我得到了一个异常。(见截图)。当我尝试添加一个视图时,对话框会在没有通知的情况下关闭 我已经添加了Griffin.MvcContrib作为一个NuGet包,它工作正常。我从未使用过异常屏幕(版本1.1.2.0)中提到的程序集,但使用了最新版本1.1.2.1 我已在解决方案中执行全文搜索-未找到1.1.2.0 我清空了缓存,重新安装了Visual S

我正在经历一个让我发疯的奇怪问题。我在VisualStudio2010中有一个MVC3项目,它过去正常工作。出于某种奇怪的原因,当我尝试添加控制器时,我得到了一个异常。(见截图)。当我尝试添加一个视图时,对话框会在没有通知的情况下关闭

我已经添加了Griffin.MvcContrib作为一个NuGet包,它工作正常。我从未使用过异常屏幕(版本1.1.2.0)中提到的程序集,但使用了最新版本1.1.2.1

我已在解决方案中执行全文搜索-未找到1.1.2.0

我清空了缓存,重新安装了Visual Studio项目模板,删除了对Griffin.MvcContrib的引用(通过NuGet卸载),删除了Bin文件夹,重新启动了我的计算机,到目前为止没有任何帮助:(

我的项目文件中的引用:

<Reference Include="Griffin.MvcContrib, Version=1.1.2.1, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\..\packages\griffin.mvccontrib.1.1.2.1\lib\net40\Griffin.MvcContrib.dll</HintPath>
</Reference>
<Reference Include="Griffin.MvcContrib.Admin, Version=1.0.10.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\..\packages\Griffin.MvcContrib.Admin.1.0.10\lib\net40\Griffin.MvcContrib.Admin.dll</HintPath>
</Reference>
<Reference Include="Griffin.MvcContrib.SqlServer, Version=1.0.8.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\..\packages\Griffin.MvcContrib.SqlServer.1.0.8\lib\net40\Griffin.MvcContrib.SqlServer.dll</HintPath>
</Reference>
--一切都好吗

Install-Package Griffin.MvcContrib.Admin
-->强制将Griffin.mvccontrib更新为1.1.2.1

-->导致附加屏幕截图中所示的异常

以某种方式安装管理模块会强制更新mvccontrib


我知道您已经搜索过了,但请再次检查,查看您的软件包文件和web.config-查找对Griffin.MvcContrib 1.1.2.0的引用

根据我的经验,未能加载带有该错误的程序集通常意味着版本冲突

如果失败,您可以尝试在记事本中查看项目定义


另外,请检查是否安装了冲突版本。有时GAC中可能有一个版本引用了另一个版本的裸.dll,这可能会导致冲突。

问题源于引用中的dll,该dll是根据Griffin.MvcContrib 1.1.2.0构建的。因此很难找到

如果您可以不受影响,您可以尝试删除对Griffin.MvcContrib的引用(如果您不需要),或者更改packages.config文件以引用1.1.2.0版本的MvcContrib,而不是1.1.2.1


然后检查所有的.csproj文件,并更正对1.1.2.0路径而不是1.1.2.1路径的引用。

一个临时解决方法是关闭解决方案,只打开您试图添加控制器的项目。它不会解决引用冲突的问题,但可以让您继续进行任何尝试需要做的事情。

谢谢你的回答。检查我的packages.config和web.config文件是我做的第一件事-没有找到引用。我又添加了一些想法。这可能是版本冲突,但很难找到。另一个想法:有时解决方案中引用的程序集或其他项目引用了dll的版本冲突,这可能会导致相同的错误。我没有将此程序集添加到GAC中。仔细检查此程序集,它不在那里。实际引用似乎不相关-我只需要找到一种“硬重置”的方法我的项目。我会关闭VS并用记事本打开项目,然后-手动删除所有引用,如果它们确实在那里。@jgauffin,你能看一看吗?提前谢谢!我不知道为什么会发生这种情况。我也经历过。如果有人能解释一下,那就太好了。我认为不同的软件包(管理员/SqlServer)已针对不同版本的MvcContrib编译。但不应该有任何破坏性的更改=一切都应该以任何方式工作。我可以编译库或以不同方式打包nuget包来解决此问题吗?这似乎是最有可能的。Admin是针对MvcContrib 1.1.2.1编译的,还是在nuget pa中依赖此版本ckage?我已经更新了我的问题。问题是为什么SqlServer包强制Visual Studio尝试使用1.1.2而不是1.1.2.1?。无论如何,我已经为管理员发送了一个nuget更新,所以它不强制使用1.1.2.1。您在web.config中有任何程序集绑定吗?
Install-Package Griffin.MvcContrib.Admin