Noz*_*zim 4 iis msbuild asp.net-mvc msdeploy iis-7.5
我正在使用MSbuild(v4.0.30319.1)和MSdeploy(v7.1.618.0)在IIS上部署我的ASP MVC 2应用程序(v7.5).以下是我运行的命令:
msbuild.exe <path to my csproj>/MyMvcApp.csproj /t:Package /p:configuration=release;outDir=<my output dir>
Run Code Online (Sandbox Code Playgroud)
和msdeploy:
msdeploy.exe -verb:sync -source:package='<MSBuildOutputDir>\_PublishedWebsites\Webui_Package\MyMVCApp.zip' -dest:auto
Run Code Online (Sandbox Code Playgroud)
构建和部署后,应用程序按地址http://localhost/MyMVCApp_deploy
而不是地址进行部署http://localhost/MyMVCApp
.我没想到_deploy
会在地址中.我怎样才能解决这个问题?
Say*_*imi 12
正如Portalus所述,您可以在属性页面中控制应用程序的名称.我会在这里扩展一下这个答案.
在PP/Web选项卡上配置默认值
默认情况下,在打包/发布Web项目时,我们将创建一个名为IIS Web Application Name的Web Deploy参数来控制此值.它的默认值是 ProjectName_deploy.我们将_deploy后缀放在那里的原因是IIS场景.因此,您可能已经拥有一个名为ProjectName的IIS应用程序,但它不太可能有一个名为ProjectName_deploy的应用程序.您可以在项目属性的" 包/发布Web"选项卡上自定义此值.如果你走这条路线,要记住的一件事是所有这些设置都与特定的构建配置相关联.因此,如果您在Debug上配置设置并使用Release创建包,则这些设置将不适用.见下图.
设置此值时,它会设置MSBuild属性DeployIisAppPath,如果您想要获得与其获得的值相关的逻辑,则可以使用它.
如果需要,还可以在发布时指定此参数的值.您有两种主要方法.
调用msdeploy.exe时,可以使用-setParam参数为该参数提供新值.例如:
%msdeploy% -verb:sync -source:package=WebApplication3.zip -dest:auto -setParam:name="IIS Web Application Name",value="Default Web Site/FooBar"
Run Code Online (Sandbox Code Playgroud)
在VS中创建包时,我们会自动为您创建一个名为{ProjectName} .SetParameters.xml的文件.此文件是一个简单的XML文件,它将包含所有参数及其默认值.您可以更新该文件以包含正确的参数值,然后将其传递给msdeploy.exe(注意:该文件不必命名... SetParameters.xml您可以将其重命名为您想要的任何名称).如果要使用此方法,则只需在调用msdeploy.exe时使用-setParamFile参数.以下是此命令行语法的示例:
%msdeploy% -verb:sync -source:package=WebApplication3.zip -dest:auto -setParamFile=WebApplication3.SetParameters.xml
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1923 次 |
最近记录: |