所以我有一个由Web项目和Azure资源组项目组成的解决方案,就像这里描述的那样:https://blogs.technet.microsoft.com/georgewallace/2015/05/10/deploying-a-website-with-content-through-visual-studio-with-resource-groups/
我遇到的问题是web项目需要在bin目录中包含一些EXTRA文件才能运行。现在通过Web项目本身的正常打包过程,我通过添加自定义目标并挂钩到CopyAllFilesToSingleFolderforPackageDependsOn来完成此操作,如:
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="bin\SlimKIA.WebApi.xml" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\SlimKIA.WebApi.xml</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
当我右键单击Web项目并说“发布”到文件系统时,我的文件就会被包含在内。一切都很好。
问题是,当我从部署项目部署时,这不会发生。我有一个MsDeploy资源可以做自己的事情。我需要以某种方式从这个项目中做我的CustomCollectFiles。
任何人都有任何想法如何实现这一目标?如果没有这个,我无法自动将我的解决方案部署到Azure。
谢谢!
答案 0 :(得分:5)
我一时兴起,最后这样做了:
<PropertyGroup>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
关键是 CopyAllFilesToSingleFolderForMsdeployDependsOn 而不是 CopyAllFilesToSingleFolderForPackageDependsOn 。只是改变了这个诀窍,我猜这触发了msdeploy包含自定义目标。