【问题标题】:ASP.Net MVC Controller cannot see another namespaceASP.Net MVC 控制器看不到另一个命名空间
【发布时间】:2013-12-30 10:35:37
【问题描述】:

我有一个 MVC 控制器,它在 using 语句中看不到另一个命名空间。

具体是这行代码:

using TRN.Website.Tools;

错误:

命名空间中不存在类型或命名空间名称“工具” 'TRN.Website'(您是否缺少程序集参考?)

但是,我项目的其他部分可以看到 TRN.Website.Tools 命名空间。

我尝试将命名空间添加到 web.config,但这没有效果。

编辑:对不起,我错过了一些重要的信息。 TRN.Website.Tools 只是同一个项目中具有命名空间 TRN.Website.Tools 的文件夹。它不是一个单独的项目或 dll。

【问题讨论】:

  • 您是否缺少程序集参考?
  • 您是否将 dll 导入到您的项目引用中?

标签: c# asp.net-mvc asp.net-mvc-4


【解决方案1】:

我的猜测:您的解决方案中有多个项目,并且您有多个库 (dll),它们的名称以 TRN.Website 开头,并且您在 MVC 项目中添加了对这些 dll 之一的引用。您还必须添加对另一个的引用。

【讨论】:

    【解决方案2】:

    以一种非常奇怪的方式解决了。

    我在 Tools 文件夹中添加了另一个类,然后错误消失了。

    非常非常奇怪。

    【讨论】:

      【解决方案3】:

      在属性窗口中检查您的类的构建操作。它必须是“编译”。

      【讨论】:

      • 我什至添加了“aspnet 文件夹”App_Code 并将类默认操作设置为内容。五年后(使用 MVC5)和类似的东西仍然让我们感到惊讶。
      【解决方案4】:

      您的 ASP.NET MVC 项目不包含对包含 TRN.Website.Tools 命名空间的程序集的引用。您必须从您的 ASP.NET MVC 项目中引用它才能使用它。

      如果TRN.Website.Tools 是您解决方案中的一个项目,您只需添加一个项目引用即可。

      如果它不是您解决方案中的项目,您必须将已编译 DLL 的引用添加到您的 ASP.NET MVC 项目中。

      【讨论】:

      • 接受了,因为虽然这并没有解决我的问题,但它是一个写得很好的答案,可以帮助其他人。
      【解决方案5】:

      在我的例子中,我没有将“X.csproj”文件签入到 TFS,因此在我的测试环境中没有发现我创建的新控制器作为有效控制器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-04
        • 1970-01-01
        • 2012-05-27
        • 1970-01-01
        • 2023-03-16
        • 2014-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多