我正在尝试使用带有选项DeployOnBuild
的MSBuild和将WebPublishMethod
设置为FileSystem
的PublishProfile来实施部署步骤。
我的PublishProfile看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<DeleteExistingFiles>False</DeleteExistingFiles>
<MSDeployUseChecksum>true</MSDeployUseChecksum>
</PropertyGroup>
</Project>
我从一个构建脚本调用它,该脚本在各个项目上调用MSBuild,并根据构建目标(开发人员或部署)设置PublishUrl:
>msbuild.exe /p:DeployOnBuild=true /p:PublishProfile=c:\path\to\Profile.pubxml /p:SolutionDir=c:\path\to\solution /p:PublishUrl=c:\path\to\target /p:VisualStudioVersion=14.0 c:\path\to\project.csproj
构建过程旨在通过第三方应用程序覆盖项目资源,包括DLL。由于NuGet还原的行为,DLL的更高版本不会始终具有更改日期,因此在部署过程中会跳过这些日期。我添加了MSDeployUseChecksum选项,每个文档(here和here)应该解决问题,但没有产生影响。
MSDeployUseChecksum是否可以使用FileSystem部署方法?如果是,是否需要任何其他步骤或设置才能使其正常工作?