簡體   English   中英

從VS 2017 .NET核心項目中的發布目錄中排除文件

[英]Excluding File From Publish Directory in VS 2017 .NET Core Project

我在項目的wwwroot文件夾中有一個.gitignore文件,我試圖將其排除在發布之外。 以下代碼似乎不起作用:

<ItemGroup>
  <Content Include="wwwroot\.gitignore">
    <CopyToPublishDirectory>Never</CopyToPublishDirectory>
  </Content>
</ItemGroup>

當我使用dotnet publish命令發布項目時,仍會在輸出目錄中找到.gitignore文件。

您必須像這樣使用Update

<Content Update="wwwroot\.gitignore">
  <CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>

替換你的代碼

<Content Include="wwwroot\.gitignore"> with 
<None Include="wwwroot\.gitignore">

我怎么知道這個? 在瀏覽.csproj文件的代碼時,我遇到了這個標簽(無),它由visual studio放在所有發布配置文件的文件(.pubxml)前面。 所以我嘗試了我的文件,它就像一個魅力。

有關構建操作屬性的MSDN文章解釋了這些差異。

不幸的是,投票的答案對我不起作用。 我有一個ASP.NET核心Web項目,我正在使用Web Deploy到遠程服務器。 我試圖排除wwwroot下的整個文件夾被包含在部署中,經過各種試驗和不同的事物組合后,唯一對我有用的是兩者的組合:

  1. 從項目中排除文件夾(即右鍵單擊>從項目中排除)

  1. 完全按原樣將以下內容添加到我的.csproj中,但將wwwroot\\\\profiles更改為要排除的目錄。 您還必須為要排除的每個文件夾重復整個代碼段:
  <ItemGroup>
    <MsDeploySkipRules Include="CustomSkipFolder">
      <ObjectName>dirPath</ObjectName>
      <AbsolutePath>wwwroot\\profiles</AbsolutePath>
    </MsDeploySkipRules>
  </ItemGroup>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM