从 VS 2017 .NET Core 项目的发布目录中排除文件
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) 前面的这个标签 (None)。所以我也尝试了我的文件,它非常有效。
build action 属性 上的 MSDN 文章解释了差异。
不幸的是,投票的答案对我不起作用。我有一个 ASP.NET Core web 项目,我正在使用 Web Deploy 到远程服务器。我试图将 wwwroot 下的整个文件夹排除在部署之外,经过各种试验和不同的组合后,唯一对我有用的是两者的组合:
- 从项目中排除文件夹(即右键单击 > 从项目中排除)
AND
- 按原样将以下内容添加到我的 .csproj 中,但将
wwwroot\profiles
更改为您要排除的目录。您还必须为要排除的每个文件夹重复整个代码段:
<ItemGroup>
<MsDeploySkipRules Include="CustomSkipFolder">
<ObjectName>dirPath</ObjectName>
<AbsolutePath>wwwroot\profiles</AbsolutePath>
</MsDeploySkipRules>
</ItemGroup>
我在项目的 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) 前面的这个标签 (None)。所以我也尝试了我的文件,它非常有效。
build action 属性 上的 MSDN 文章解释了差异。
不幸的是,投票的答案对我不起作用。我有一个 ASP.NET Core web 项目,我正在使用 Web Deploy 到远程服务器。我试图将 wwwroot 下的整个文件夹排除在部署之外,经过各种试验和不同的组合后,唯一对我有用的是两者的组合:
- 从项目中排除文件夹(即右键单击 > 从项目中排除)
AND
- 按原样将以下内容添加到我的 .csproj 中,但将
wwwroot\profiles
更改为您要排除的目录。您还必须为要排除的每个文件夹重复整个代码段:
<ItemGroup>
<MsDeploySkipRules Include="CustomSkipFolder">
<ObjectName>dirPath</ObjectName>
<AbsolutePath>wwwroot\profiles</AbsolutePath>
</MsDeploySkipRules>
</ItemGroup>