【问题标题】:How do I get my Objects to work in ASP.NET MVC2如何让我的对象在 ASP.NET MVC2 中工作
【发布时间】:2010-07-28 21:08:10
【问题描述】:

虽然我已经是 WebForms 开发人员几年了,但我对 MVC2 还是很陌生(从未接触过 MCV1)...

在我的 MCV 2 启动项目中,我创建了一个 App_Code 文件夹,我将把我的业务类放在上面,我还添加了 2 个对用于 API I'm about to use 的 2 个 DLL 的引用。

但我没有在引用的对象上获得 Intellisense

我做错了什么?

alt text http://www.balexandre.com/temp/2010-07-28_1343.png

这与 WebForms 部分有很大不同吗?


已添加

即使我将对象放在模型而不是 App_Code 中(我通常将所有代码放在 WebForms 中)我仍然没有得到正常的智能感知,所以......它只是告诉我有问题......该死! MVC 很难!我可能应该在 WebForms 中这样做...

alt text http://www.balexandre.com/temp/2010-07-28_1509.png

【问题讨论】:

  • +1 为漂亮的图片。对其他问题有很大帮助^^
  • ASP.NET MVC 使用 Web 应用程序项目而不是网站。这意味着它全部被编译并且没有App_Code目录。

标签: asp.net-mvc-2 reference


【解决方案1】:

这与 MVC2 无关,与您做错的一切有关。我可以说这是一种可能性,因为您正在使用 App_Code (我的意思是,谁这样做?)。我绝对建议备份并阅读一些 MVC 教程,因为它有很大不同(尽管不是你所询问的方式)。

但是,我不确定您做错了什么。可能 PerceptiveMCAPI 是程序集的内部,可能是因为 VS 中存在错误,可能是您没有导入正确的命名空间...可能是许多不同的东西。

我将执行以下操作:1) 在反射器中加载程序集并确保您具有命名空间和类型名称并且它是公共的 2) 使用类型的完全限定名称 3) 编译,检查所有错误并4)重启VS。

如果一切都失败了,请连接。

【讨论】:

  • 只需添加第二张图片以显示即使在模型中我也可以找到自己的对象:(
  • @bale 那里出了问题。重新开始,使用 MVC 模板创建新的解决方案。在 Models 目录中创建一个模型。编译。在 Controllers 目录中创建一个控制器。编译。尝试在控制器中引用模型。如果你不能做到这一点,你就会遇到更大的问题。
  • 会...我做了...我按了新项目> web > MVC2,然后在模型中添加新类并更改了AccountController...仅此而已! :-( 添加 : 刚刚删除并再次创建...现在可以正常工作了 :-/ 奇怪的东西!
【解决方案2】:

查看 Models 目录——假设该类是视图模型类,您的模型类将位于该目录。话虽如此,它应该能够为您添加的任何引用拾取并提供智能感知。 App_Code 并不是真正用于静态编译代码的 Web 应用程序项目(MVC 使用的类型),而是用于在运行时动态编译代码的网站。这可能是导致问题的目录的“特殊”性质,因为它不适合项目类型。您可以尝试简单地创建一个不同的目录(如果 Models 不合适),而不是为您的代码使用特殊的 App_Code 目录。在 Web 应用程序中带有项目引用的单独类库项目将是另一种选择,并且是我通常用于非视图模型/控制器代码的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    相关资源
    最近更新 更多