保留对包含MVC3控制器的DLL项目的工具支持

时间:2011-05-19 18:57:28

标签: asp.net-mvc visual-studio-2010 asp.net-mvc-3

我想将我的控制器从我的主应用程序拆分为我的MVC3应用程序的专用DLL。但在这样做之后,我失去了所有的MVC3工具支持。经过一番挖掘后,我发现如果您希望在非Web应用程序项目中保留MVC3的工具支持,您只需要将相应的信息添加到项目文件中。

2 个答案:

答案 0 :(得分:2)

首先通过右键单击VS并单击“卸载项目”或在任何纯文本编辑器中在visual studio之外编辑它来从VS卸载项目。如果使用VS,在卸载项目后,再次右键单击项目文件并选择编辑它。

在文件中,您应该在名为<ProjectGuid>的第一个PropertyGroup中看到一个元素。在此元素下方创建一个名为<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 :(得分:1)

有时我真的很想知道人们为什么如此关心工具支持。这一定非常重要。老实说,我从来没有发现任何这种支持的使用。但您可以尝试将以下项目guid添加到类库.csproj中,以使VS将其视为ASp.NET MVC 3 Web应用程序,并可能添加一些工具支持

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