1

我遇到了这个让我发疯的奇怪问题。我在 Visual Studio 2010 中有一个 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>

有人对如何修复我的 IDE/项目有任何线索吗?

更新:重现步骤:

Install-Package Griffin.mvccontrib -Version 1.1.2
Install-Package Griffin.MvcContrib.SqlServer

- 一切还好

Install-Package Griffin.MvcContrib.Admin

--> 强制将 Griffin.mvccontrib 更新到 1.1.2.1

--> 导致如附件截图所示的异常

不知何故安装管理模块会强制更新 mvccontrib。

在此处输入图像描述

4

3 回答 3

0

问题源于您的参考文献中针对 Griffin.MvcContrib 1.1.2.0 构建的 dll。所以会很难找到。

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

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

于 2014-01-10T13:57:55.203 回答
0

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

根据我的经验,程序集无法加载并出现该错误通常意味着版本冲突。

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

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

于 2012-08-27T13:45:37.947 回答
0

一个临时的解决方法是关闭解决方案,然后打开您尝试添加控制器的项目。它不能解决冲突的引用问题,但它可以让你继续做任何你想做的事情。

于 2014-08-06T16:43:23.197 回答