在 MVC 3 项目中使用剃刀助手时出现错误(确实将 cshtml 文件放在 app_code 中)。看起来生成的代码使用了错误的程序集引用。
使用 WebMatrix.Data;
使用 WebMatrix.WebData;
编译器说:
CS0246:找不到类型或命名空间名称“WebMatrix”(您是否缺少 using 指令或程序集引用?)
将它们放入 GAC 并没有改变任何东西。我不明白吗?或者这是一个错误?有任何想法吗?
在 MVC 3 项目中使用剃刀助手时出现错误(确实将 cshtml 文件放在 app_code 中)。看起来生成的代码使用了错误的程序集引用。
使用 WebMatrix.Data;
使用 WebMatrix.WebData;
编译器说:
CS0246:找不到类型或命名空间名称“WebMatrix”(您是否缺少 using 指令或程序集引用?)
将它们放入 GAC 并没有改变任何东西。我不明白吗?或者这是一个错误?有任何想法吗?
mbr,我们知道这个问题并计划在 RTM 中解决它。您可以像 SLaks 建议的那样添加对 WebMatrix 程序集的引用,或者(我认为这更好)通过添加以下代码将这两个命名空间简单地添加到您的项目中:
namespace WebMatrix.Data { internal class Ignore { } }
namespace WebMatrix.WebData { internal class Ignore { } }
您需要在 Web.config 中添加对 DLL 的引用。
我遇到了这个问题,并得到了这个答案的帮助。然后,当我开始尝试使用 Telerik 时,我遇到了另一个问题,这个答案是:Razor HtmlHelper Extensions (or other namespaces for views) Not Found为我指出了解决这个问题的另一个解决方案。
如果您不知道 DLL 文件的确切位置或 DLL 文件是否有任何依赖关系,那么自己引用 DLL 文件可能会很棘手。使用包管理器为您自动引用依赖项。
只需在 Visual Studio 和包管理器控制台中打开 Tools->Library Package Manager->Package Manager Console 键入“Install-Package WebMatrix.Data”即可。参考这个链接
将代码放在 App_Code 目录中的文件(我选择 Fixup.cs)中:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebMatrix.Data { internal class Ignore { } }
namespace WebMatrix.WebData { internal class Ignore { } }
您只需将WebMatrix.WebData.dll添加到您的引用中。