[英]Accessing up folder of publish folder at .Net Core web Api 2.1
[英].NET Core include folder in publish
添加這個:
<ItemGroup>
<Content Include="AppData\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
如果它不是空的,你的.csproj
文件將復制AppData
文件夾。 對於空的AppData
文件夾,您可以使用以下解決方法:
<Target Name="CreateAppDataFolder" AfterTargets="AfterPublish">
<MakeDir Directories="$(PublishDir)AppData" Condition="!Exists('$(PublishDir)AppData')" />
</Target>
如果它尚未包含在輸出中,這將在發布后創建AppData
文件夾。 這意味着只有在發布時它是空的,這才會創建AppData
文件夾。
有一個簡單而有用的解決方案:
<ItemGroup>
<Content Include="AppData\**" CopyToPublishDirectory="PreserveNewest"/>
</ItemGroup>
您可以在此處找到更多技巧: https : //docs.microsoft.com/en-us/dotnet/core/tools/project-json-to-csproj
您可以在其中放置一個占位符文件(或使用您現有的文件)。 然后將文件添加到項目並設置文件屬性:復制到輸出目錄:如果更新則復制或始終復制。
其他方式:添加后構建步驟命令,創建目錄。
以上解決方案都不適合我。 因此,我采用了在“React 項目模板”中采用的相同方法,並將此代碼添加到我的 .csproj 文件中:
<Target Name="PublishFrontend" AfterTargets="ComputeFilesToPublish">
<ItemGroup>
<DistFiles Include="ClientApp\build\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
第一個解決方案,如果運行 dotnet build 或 dotnet publish 將在 bin 中添加文件夾。
<ItemGroup>
<None Update="AppData\**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
第二種解決方案,如果運行 dotnet publish 將在 bin 中添加文件夾。
<ItemGroup>
<Content Include="AppData\**" CopyToPublishDirectory="PreserveNewest"/>
</ItemGroup>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.