动态设置 Web 应用程序项目的 IISUrl

2024-05-06

我有一个 Web 应用程序项目,我希望能够在完全独立的 IIS 站点上进行分支和开发,而不必每次都继续编辑 vbproj IISUrl 设置。我尝试添加一些标准属性的导入,以便我可以在 WAP 文件之外维护它们,但是当我在元素中引用它们时,它不喜欢它们。我怀疑这是因为 IISUrl 元素是放置非 msbuild 信息的地方的一部分。

正如您在下面的代码中看到的,我尝试在 WebApp1.vbproj 中的几个位置引用 $(CustomUrl),但是当我打开 VS 时,它不喜欢它。

有什么方法可以解决这个问题,或者是否有人有更好的方法来分支 Web 应用程序项目。

自定义导入.vbproj

<Project 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <CustomUrl>http://localhost/WebUrl_1</CustomUrl>
    </PropertyGroup>
</Project>

WebApp1.vbproj

<Import Project="CustomImport.vbproj"/>
<WebProjectProperties>
  <UseIIS>True</UseIIS>
  <AutoAssignPort>True</AutoAssignPort>
  <DevelopmentServerPort>1124</DevelopmentServerPort>
  <DevelopmentServerVPath>/</DevelopmentServerVPath>
  <IISUrl>$(CustomUrl)</IISUrl>
  <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
  <IISAppRootUrl>$(CustomUrl)/</IISAppRootUrl>
  <NTLMAuthentication>False</NTLMAuthentication>
  <UseCustomServer>False</UseCustomServer>
  <CustomServerUrl>$(CustomUrl)</CustomServerUrl>
  <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>

我相信在 VS2010 中我可能有一个解决方法。

右键单击 VS2010 中的项目并转到“属性”。在 Web 选项卡中,取消选中“将服务器设置应用于所有用户(存储在项目文件中)”。其作用是强制将所有设置存储在 [Web 项目名称].csproj.user 文件中,而不是存储在项目文件本身中。 (我的项目是 C# 项目而不是 VB,但我认为它的工作原理是相同的)这允许您在每台进行开发的计算机上拥有不同的服务器设置,但同时共享其余的配置。

我必须这样做,因为我在每台开发计算机(工作站和笔记本电脑)上使用 SSL 证书,因此项目 URL 不同,但我不想多次手动弄乱每台计算机上的 URL 并担心在将我的代码检查到源代码管理中时对此进行了了解。

获取最新源代码后在计算机上完成初始配置后,您的 .user 文件将保存该配置。只要您不将 .user 文件签入源代码管理,这似乎就可以正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态设置 Web 应用程序项目的 IISUrl 的相关文章

随机推荐