在 MS Visual Studio 2010 中,有没有使用命令行界面发布 Web 项目的方法?我使用 DevEnv.exe /Build 来构建项目,它运行良好,但我找不到发布项目的选项。
还有一件事我想提一下。我尝试将 Web 项目发布到不是 IIS 的地方。我有一个位置可以发布多个项目,并将它们自动构建成 NSIS 包以便部署。
在 MS Visual Studio 2010 中,有没有使用命令行界面发布 Web 项目的方法?我使用 DevEnv.exe /Build 来构建项目,它运行良好,但我找不到发布项目的选项。
还有一件事我想提一下。我尝试将 Web 项目发布到不是 IIS 的地方。我有一个位置可以发布多个项目,并将它们自动构建成 NSIS 包以便部署。
从ASP.NET Web使用Visual Studio进行命令行部署,您可以使用。
msbuild myproject.csproj /p:DeployOnBuild=true /p:PublishProfile=MyPublishProfile
其中MyPublishProfile
是您已经设置过的配置文件名称
最好的做法是将以下目标添加到项目文件中:
<Target Name="AfterBuild">
<Message Text="Copying to Deployment Dir:" />
<Copy SourceFiles="@(Content)" DestinationFolder="..\XXX\%(Content.RelativeDir)" />
<CreateItem Include="$(OutputPath)\*">
<Output TaskParameter="Include" ItemName="Binaries"/>
</CreateItem>
<Copy SourceFiles="@(Binaries)" DestinationFolder="..\XXX\bin" />
</Target>
这样,每当项目被构建(无论是从命令行还是从IDE)时,它都会自动部署到指定的文件夹中。感谢大家指引我正确的方向。
@RobKent使用https://dev59.com/AnE85IYBdhLWcg3wbTH2#2775437
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
<Message Text="Copying to Deployment Dir:" />
<Copy SourceFiles="@(Content)" DestinationFolder="..\XXX\%(Content.RelativeDir)" />
<CreateItem Include="$(OutputPath)\*">
<Output TaskParameter="Include" ItemName="Binaries"/>
</CreateItem>
<Copy SourceFiles="@(Binaries)" DestinationFolder="..\XXX\bin" />
</Target>
你可以只在发布编译时进行发布。
Can't find the valid AspnetMergePath
- Toolkit