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