gpt4 book ai didi

asp.net-mvc - 当我使用 ASP.Net 提供项目名称 'MvcApplication' 时,为什么会出现 CS0426 错误?

转载 作者:行者123 更新时间:2023-12-04 17:02:19 24 4
gpt4 key购买 nike

这真的很奇怪。听起来,我试图创建一个名为 的项目/解决方案。 MvcApplication 使用 Visual Studio 2015 (Enterprise) .我选MVC模板并保留所有默认值。

它创建成功。我构建的解决方案没有任何错误或警告。当我运行项目(开始调试)时,它会加载 ASP.NET MVC 主页,这很好。
enter image description here

当我单击“注册”时立即抛出错误 CS0426:类型名称 Models类型中不存在 MvcApplication .

在源文件中的临时文件夹中的某个位置。 (附截图)。
enter image description here

到目前为止,我尝试使用以下方法解决此问题
1.关闭解决方案并重新启动机器。 (不工作)
2.删除所有临时文件(没用)
3.创建不同名称的其他应用程序(工作)
4.在上面的解决方案中添加同名“MvcApplication”的新项目(同样的问题 - 没有奏效,但证明名称MvcApplication存在问题。)
5.谷歌它(关于CS0426错误没有太大帮助) - 它没有任何意义。 (为什么?)
6. MSDN、StackOverflow、其他博客报错误但不报错原因或解决方法?还在疑惑为什么?

我希望我能提供帮助,但我需要确认您无法在解决方案中将您的项目命名为“MvcApplication”并希望能够正常工作。我可能是错的。但在这种情况下,我需要更多的证据。

任何帮助将不胜感激。

谢谢。

最佳答案

假设 Register View 具有此模型绑定(bind):

@* Register view *@
@model MvcApplication.Models.RegisterViewModel

既然你有 MvcApplication作为项目/解决方案名称(包括项目命名空间),可能会与 MvcApplication 发生命名冲突已经在 Global.asax 中提供的类定义 View 模型时:
// Global.asax
namespace MvcApplication
{
public class MvcApplication : System.Web.HttpApplication
{
// other stuffs here
}
}

// Model class
namespace MvcApplication.Models // ==> potential naming collision when being used in view
{
public class RegisterViewModel
{
// some properties here
}
}

避免与 MvcApplication发生碰撞如上所示的类,您可以使用 global在 View 页面中使用像这样的完全限定名称:
@model global::MvcApplication.Models.RegisterViewModel

或者干脆 更改项目命名空间 成不同的名字。

类似问题:

The type name 'Models' does not exist in the type 'System.Web.Helpers.Chart'

关于asp.net-mvc - 当我使用 ASP.Net 提供项目名称 'MvcApplication' 时,为什么会出现 CS0426 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41776521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com