2011-05-19 71 views
2

我想將我的控制器從主應用程序拆分爲專用於我的MVC3應用程序的DLL。但是在這樣做之後,我失去了所有的MVC3工具支持。經過一番挖掘,我發現如果您希望在使用非Web應用程序項目時保留對MVC3的工具支持,則只需將相應的信息添加到項目文件中即可。對包含MVC3控制器的DLL項目的保留工具支持

回答

2

要麼從VS卸載您的項目,請右鍵單擊它,然後單擊「卸載項目」或在任何純文本編輯器中在Visual Studio之外進行編輯。如果使用VS,卸載項目後,再次右鍵單擊項目文件並選擇編輯它。

在該文件中,您應該在第一個PropertyGroup中看到一個名爲<ProjectGuid>的元素。在此元素下方創建一個名爲<ProjectTypeGuids>的新元素。在這個元素裏面放入MVC3項目類型的GUID。你還必須添加一個表示庫的語言的項目類型,無論是VB還是C#,在我的情況下它都是C#。無法添加此GUId將導致VS在嘗試重新加載項目時顯示錯誤。

MVC3和C#

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

MVC3和VB.NET

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> 

刷新保存更改,你應該是好去後的項目!

1

有時我真的很想知道爲什麼人們非常關心工具支持。這一定非常重要。老實說,我從來沒有發現任何這種支持的使用。但是你可能嘗試添加以下項目GUID來你的類庫的.csproj使VS把它當作一個ASp.NET MVC 3 Web應用程序,可能添加一些工具支持

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 
+0

我曾經同意,但在最近的工具更新(特別是在控制器上)中添加了腳手架支持,並支持EntityFramework(如果其他ORM增加了對它的支持,可能還有其他支持),它可以花費很多時間。我使用nHibernate,所以這一點是沒有意義的,但我可以看到繪製。大多數情況下,我只是使用Resharper快捷方式來添加文件,但Views和Controller的默認模板可以減輕在我的情況下添加原始* .cs或* .cshtml文件後達到起點的需要。 – 2011-05-19 20:21:00