我正在Visual Studio 2012中构建项目模板。其中一个是从一个空的MVC4项目中生成的。我需要更改的是web服务器设置(除了一些已经工作的文件外),该设置位于"项目设置">"web">"服务器"下。
我需要将其设置为"使用自定义Web服务器"。我把这是模板csproj:
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>80</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl></IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>True</UseCustomServer>
<CustomServerUrl>$ControlPanelUrl$</CustomServerUrl>
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
然而,当创建项目时,它似乎被覆盖为"正常"默认值,IIS Express位于自动生成的端口上。此外,是否需要更改此项?
我最终采用的"解决方案"实际上并没有解决该部分似乎被覆盖的问题,而是在上面放了一点胶带…
我实现了一个向导,并将其添加到模板中。在实现过程中,我将代码放入RunFinished
方法中,该方法以xml文档的形式打开项目文件,并简单地将该部分替换为我希望的部分。它在某种程度上起作用,唯一真正的缺点是它会提醒您项目已经更改,需要在添加后立即重新加载。