我因为这个MSBuild问题而感到非常苦恼。
我们正在使用TeamCity构建一个包含两个MVC网站的解决方案。作为构建的一部分,我们将其部署到构建服务器上的一个文件夹中。IIS指向该文件夹,以便为我们提供对管理可见的集成构建。
以下是MSBuild文件中使用MSDeploy发布软件包的代码 - 但不是作为zip文件。
<Target Name="Deploy">
<MSBuild
Projects="$(SolutionFile)"
Properties="Platform=$(Platform);Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageLocation);
PackageAsSingleFile=False;
AutoParameterizationWebConfigConnectionStrings=False" />
</Target>
问题在于我们得到了一个非常深的文件夹结构。以下是一个示例...
C:[ANYFOLDERS] \ obj \ Release \ Package \ PackageTmp [已发布的文件]
我真的想要部署到可预测的文件夹,例如...
C:\build\website [已发布的文件] C:\build\mobilewebsite [已发布的文件]
那就是背景。以下是具体问题。
1. 我们尝试使用MSDeploy发布到本地文件系统是否犯了一个错误?我们基本上需要VS2010“发布”功能的等效功能,带有配置转换。我们并不试图部署到远程IIS实例或其他任何东西。
2. 有没有办法这样做,但指定发布文件夹?
3. 我一直在尝试使用MSBuild复制任务将文件复制到更合理的文件夹中-但我无法弄清楚如何使用通配符指定所需的文件夹-它应该是类似于...
C:\FolderPackageEndsUpIn [ANYFOLDERS] \ Website [ANYFOLDERS] \ PackageTmp * *。 求救!