相关疑难解决方法(0)

AfterPublish目标不起作用

发布我的Web应用程序项目后,世界上最简单的任务(见下文)没有被执行.知道为什么吗?

<Target Name="AfterPublish">
  <Copy SourceFiles="C:\A.txt" DestinationFiles="C:\B.txt" />
</Target>
Run Code Online (Sandbox Code Playgroud)

msbuild publish task

31
推荐指数
4
解决办法
2万
查看次数

发布Web应用程序时,AfterPublish脚本无法运行

我有一个ASP.NET网络应用程序,当我进行更改或修复错误时,我发布到我们的网站.我们希望自动将项目文件的备份保存到我们的服务器(与SVN签入分开),因此我编写了一个批处理文件,将整个项目从本地驱动器复制到服务器.批处理文件在独立运行时正常工作,因此不是问题.如果这是一个问题,批处理文件不在项目的路径中.

然后我将这些行添加到结束</project>标记正上方的.csproj文件中:

<Target Name="AfterPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这遵循MSDN中用于覆盖目标的指令.

我也尝试过这个SO问题中概述的方法.看起来像这样:

<Target Name="BackUpRMAToIDrive" AfterTargets="MSDeployPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这也行不通.

为了完整性,这是批处理文件,它非常简单,但如果有人感兴趣,我可以解释这些开关:

xcopy C:\deg\ASP.NET\OnlineRMA_SinglePage\*.* /cherkyDi I:\common\AppDevBranch\Service\rma
Run Code Online (Sandbox Code Playgroud)

我使用Build> Publish RMA在VS2010中发布,效果很好.这只是备份脚本永远不会运行.唯一的共性是脚本本身.我见过其他使用源dir到目标目录的副本的例子,但我想我明白你可以通过Exec命令调用外部脚本吗? 这是我为该方法找到的SO问题的例子.

我确定我错过了一些显而易见的东西,但是我第二天就搞好了一些看似很直接的东西,所以我错过了什么?

c# asp.net msbuild publishing batch-file

9
推荐指数
2
解决办法
3589
查看次数

如何将其他文件发布到bin文件夹中

我的.net Web应用程序项目还包括一些非托管dll作为附加文件。这些子文件夹中有几个层次。

当我发布该项目时,我需要将这些文件bin与所有其他二进制文件一起复制到该文件夹中。

无论我尝试什么设置,我都能得到的最好结果是将它们发布到它们现有的文件夹结构中,而这并不是我需要的位置。

我创建了一个PostBuild事件来复制文件,并且在本地构建时有效,但在发布到服务器时则无效。我无法使PostPublish事件以相同的方式工作。

还有另一种方法可以做到这一点吗?

请注意,这与上一个问题类似但不相同: 从引用的项目发布非托管DLL

c# asp.net visual-studio

5
推荐指数
2
解决办法
1222
查看次数

标签 统计

asp.net ×2

c# ×2

msbuild ×2

batch-file ×1

publish ×1

publishing ×1

task ×1

visual-studio ×1