Mar*_*ark 31 msbuild publish task
发布我的Web应用程序项目后,世界上最简单的任务(见下文)没有被执行.知道为什么吗?
<Target Name="AfterPublish">
<Copy SourceFiles="C:\A.txt" DestinationFiles="C:\B.txt" />
</Target>
Run Code Online (Sandbox Code Playgroud)
mkl*_*nt0 32
注意:以下内容适用于VS2010并使用"构建/发布{projectname}"对话框中选择的"Web Deploy"发布方法发布Web应用程序项目.
Julien Hoarau的正确之处在于"Publish"不是上述案例中调用的msbuild目标的名称; 实际目标名称是"MSDeployPublish".
因此,你必须定义一个"目标",其元素"AfterTarget"属性的值设置为"MSDeployPublish" - "名称"属性的值并没有(只要它是唯一的目标名称中)关系.
这是怎么做的:
</Project>
标记之前添加一个<Target Name="CustomPostPublishAction" AfterTargets="MSDeployPublish">
元素; 选择"CustomPostPublishAction"的名称.<Exec Command="..." />
元素.例:
<Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish" >
<Exec Command="echo Post-PUBLISH event: Active configuration is: $(ConfigurationName)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
注意:
<Target>
元素的一般文档,请参阅http://msdn.microsoft.com/en-us/library/t50z2hka.aspxFos*_*sna 23
Visual Studio 2013.将Web应用程序发布到文件系统.
<Target Name="Moose" AfterTargets="GatherAllFilesToPublish" >
<Message Importance="high" Text="***Moooooooooooooooose***$(WPPAllFilesInSingleFolder)***$(TargetDir)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
注意:确保将构建日志记录设置为至少为Detailed.在工具 - >选项 - >项目和Solutinos - >构建和运行 - > MSBuild输出详细程度下查找它.如果要在实际发布之前调查上次运行的构建目标,则诊断也很好.
这似乎适用于 Visual Studio 2019
<Target Name="MyCustomTarget" AfterTargets="Publish">
<Copy SourceFiles="C:\A.txt" DestinationFiles="C:\B.txt" />
</Target>
Run Code Online (Sandbox Code Playgroud)
<Import ... />
启动 MSBuild 并详细了解您的目标被忽略的原因:
msbuild project.csproj /t:Target_to_Launch /v:d
Run Code Online (Sandbox Code Playgroud)AfterPublish
在目标之后调用Publish
,但Publish
不是发布 Web 应用程序时调用的目标。是发布ClickOncePublish
应用程序的目标。
您必须找到Publish
在 Visual Studio 中调用时使用的目标,它可能是Package
,WebPublish
...
归档时间: |
|
查看次数: |
16451 次 |
最近记录: |