3
我在我的ASP.NET MVC3项目中使用类库。剃须刀的意见:智能感知不与C#3类库的工作
得到它的工作我已经做了以下内容:
- 使用领域
- 使用自定义
VirtualPathProvider
- 使用
BuildManager.AddReferencedAssembly
每个装配 - 修改了的csproj文件添加Razor的支持/向导(
<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
) - 将
web.config
从web项目复制到每个类库项目
一切工作,除了在剃刀视图intellisense。我得到这样的警告:
功能的lambda表达式'不能使用,因为它不是ISO-2 C#语言规范
类库被设置为使用.NET 4的一部分。
这里有一些其他的问题,解决相同的问题
- Razor intellisense error: Feature 'extension method' cannot be used because it is not part of the ISO-2 C# language specification
- MVC 2 with VS 2010 View Building Error: Feature 'anonymous types' cannot be used because it is not part of the ISO-2 C# language specification
,但我无法找到任何东西,这将迫使编译器2.0上运行(并且不会使我的观点在运行时失败?)
一切都很好,并且在运行项目时工作。当我从VStudio的类库中打开一个剃须刀视图时,我发现了错误。所以这不是一个不正确的编译设置。 '这确实让我感到不同寻常,因为你有一个固定在ISO-2上的Razor项目'我没有指定这样的项目。我的问题是,我不知道为什么VStudio intellisense在编辑器中打开它们时想要将视图编译为c#2.0。 – jgauffin 2012-03-22 07:13:07
@jgauffin:即使在实际构建时,导致VS中的错误的代码也能正常工作?当你拥有不在类库中的Razor视图时,这*不会发生?听起来像它可能“只是”在视图编辑器中的错误,但一个恼人的:( – 2012-03-22 07:15:12
这是讨厌的是的。看看其他问题,似乎有一个解决方案(但他们的答案并没有帮助我追查问题)。 – jgauffin 2012-03-22 07:17:57