根据这篇博客文章,我正在尝试将自定义文件添加到我们的web部署包中:http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx
<Target Name="CustomCollectFiles">
<Message Text="AppBuildFolder = $(AppBuildFolder)"/>
<ItemGroup>
<_CustomFiles Include="..\*Repository*\**\*.dll;..\*Repository*\**\*.pdb" Condition="'$(AppBuildFolder)' == ''" />
<_CustomFiles Include="$(AppBuildFolder + '*.dll');$(AppBuildFolder + '*.pdb')" Condition="'$(AppBuildFolder)' != ''" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
<Message Text="Files found: @(_CustomFiles)"/>
</Target>我们在AppBuildFolder上有一些其他的引用,我们需要将它们复制到包中,但我在消息中从未看到任何文件输出。有什么想法吗?
谢谢安迪
发布于 2010-10-19 23:38:57
好的,所以问题是这样的。我们使用Nant的MsBuild任务来构建Web Deploy项目。
显然,当像这样调用任务时:
<msbuild>
<property name="AppBuildFolder" value="${Some.Path.Ending.In.Backslash}" />
</msbuild>MsBuild的最终值为c:\myfolder"。注意末尾的双引号,而不是c:\myfolder\。
修复方法是使用<arg />元素更改<property />并传递该值。
所以,问题出在NantContrib中的MsBuild任务。
希望这能节省别人的时间。
发布于 2010-10-19 08:21:22
您缺少将该目标注入到构建中的PropertyGroup。你也应该包括这一点,我怀疑这个目标没有执行,所以它们永远不会被添加。此外,你可能想要密切关注我的博客,因为有一个更简单的方法,当我有时间的时候,我会很快把它写出来。
https://stackoverflow.com/questions/3963353
复制相似问题