10

我的项目文件夹中有一个.gitignore文件wwwroot,我试图将其排除在发布之外。以下代码似乎不起作用:

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

当我使用dotnet publish命令发布项目时,该.gitignore文件仍然在输出目录中找到。

4

3 回答 3

25

你必须Update像这样使用:

<Content Update="wwwroot\.gitignore">
  <CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
于 2017-02-28T08:37:25.237 回答
1

替换你的代码

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

我是怎么知道的?在浏览 .csproj 文件的代码时,我遇到了这个标签(无),它由 Visual Studio 放在所有发布配置文件(.pubxml)的前面。所以我也尝试了我的文件,它就像一个魅力。

有关构建操作属性的 MSDN 文章解释了这些差异。

于 2018-03-15T06:14:11.220 回答
0

不幸的是,投票的答案对我不起作用。我有一个 ASP.NET Core Web 项目,我正在使用 Web Deploy 到远程服务器。我试图从部署中排除 wwwroot 下的整个文件夹,经过各种试验和不同的事物组合,唯一对我有用的是两者的组合:

  1. 从项目中排除文件夹(即右键单击> 从项目中排除)

  1. 将以下内容完全按原样添加到我的 .csproj 中,但更改wwwroot\\profiles为您要排除的目录。您还必须为要排除的每个文件夹重复整个片段:
  <ItemGroup>
    <MsDeploySkipRules Include="CustomSkipFolder">
      <ObjectName>dirPath</ObjectName>
      <AbsolutePath>wwwroot\\profiles</AbsolutePath>
    </MsDeploySkipRules>
  </ItemGroup>
于 2019-08-22T14:08:59.587 回答