gpt4 book ai didi

msbuild - 在部署时包括额外的文件

转载 作者:行者123 更新时间:2023-12-05 06:45:45 26 4
gpt4 key购买 nike

我需要在部署过程中包含一个文件夹和其中的文件。这个文件夹不是项目的一部分。此文件夹是在构建服务器上创建的。我不能在项目中包含这些文件。

我找到了这个 answer很有帮助。

我编辑了我的 web 应用程序 csproj 文件并将其添加到文件末尾

  <PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>CustomCollectFiles;$(CopyAllFilesToSingleFolderForPackageDependsOn);</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>CustomCollectFiles;$(CopyAllFilesToSingleFolderForPackageDependsOn);</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>

<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="Workspace\build\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>Workspace\build</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>

它应该包括文件夹 Workspace\build 中的所有文件,并将其放在部署目录中的同一位置。

但不幸的是,它不起作用。我不太擅长 msbuild,所以我想我在这里遗漏了一些东西。

最佳答案

例如,假设您的文件位于名为 build 的目录中,该目录与解决方案目录处于同一目录级别,您可以这样做:

<Target Name="AfterBuild">
<CreateItem Include="$(SolutionDir)..\build\**\*.*">
<Output TaskParameter="Include" ItemName="AdditionalFiles" />
</CreateItem>
<Copy SourceFiles="@(AdditionalFiles)" DestinationFolder="$(TargetDir)build" />
</Target>

这会将 $(SolutionDir)..\build 中的那些文件复制到输出目录 $(TargetDir)buildbuild 子目录中> 每当构建解决方案时。修改 Include 掩码、DestinationFolder 和构建目标名称以满足您的需要。

关于msbuild - 在部署时包括额外的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21880985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com