【问题标题】:mvc3 view cannot load namespace(How do views reference dlls)mvc3 视图无法加载命名空间(视图如何引用 dll)
【发布时间】:2011-11-22 00:34:28
【问题描述】:

我更新了我的 mvc3 站点中的 dll 引用。它们是相同的 dll,但版本不同。我这样做是先删除它们,然后添加更新的。所有编译正确。但是在运行时,我得到 cshtml 文件无法引用某些命名空间的运行时错误。当我打开这些 cshtml 文件时,vs2010 确实显示未定义命名空间的错误。但是相同的命名空间在代码隐藏 cs 文件中工作正常。在各自的视图 web.config 文件中。我试过了:

  <namespaces>
        ...
        <add namespace="myassembly" />
      </namespaces>

or 
      <controls>
        <add assembly="myassembly, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="myassembly" tagPrefix="myassembly" />
      </controls>

在我看来,我仍然无法纠正这个问题。当我恢复到旧的 dll 版本时,一切正常,我不需要在视图 web.config 中进行修改。它似乎是视图仍在尝试引用旧 dll 版本的情况,因此当我更新到新版本时它找不到它们。

视图如何引用 dll?

谢谢

【问题讨论】:

  • 您尝试清理解决方案还是重建解决方案?
  • 是的,我虔诚地在每次更改后进行清理和重建。
  • 我发现如果我在项目的 .csprog 文件中指定 True。清洁,重建解决方案。解决问题。
  • 我猜你更新程序集后没有保存 csproj 文件。很高兴知道它得到了解决。

标签: asp.net-mvc-3 view namespaces


【解决方案1】:

您必须使用 Views 文件夹中的 web.config 文件,而不是项目根目录中的那个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 2020-02-18
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多