.net-core - <None Remove ="..."/> 在 csproj 中是什么意思?

标签 .net-core csproj

我正在使用 dotnet core csproj,并且添加了一个新文件。由于约定优于配置,它最初根本没有添加到 csproj 中。但是一旦我将其构建操作从无更改为嵌入式资源,两个条目就会写入 csproj 文件:

<None Remove="MyFile.sql" />


<EmbeddedResource Include="MyFile.sql" />

第一个条目是什么意思?这对我来说似乎是多余的。

最佳答案

sdk 风格的项目有一些自动包含。

默认情况下,sdk 具有类似 <None Include="**/*"> 的内容。 (简化)在您的项目内容之前添加(包含)。但是您不希望您的文件位于“None”集中,而是位于“EmbeddedResource”集中。

MSBuild 没有任何问题,文件在多个项目组中,但它应该只在一个项目组中,这样 IDE 就不会混淆(并且只显示一次文件以显示正确的构建操作)。

所以这两个语句的意思是“将它从 None 集(项目)中删除,并将其添加到 EmbeddedResource 集(项目)”。

关于.net-core - <None Remove ="..."/> 在 csproj 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49784191/

相关文章:

c# - Microsoft.AspNetCore.Authorization.DefaultAuthorizationService - 授权失败

build - .Net Core 2 无法构建我的 SPA,因为它无法正确执行?

msbuild - 构建目录中的所有项目

.net - 向 .net core csproj 文件添加依赖项

visual-studio-2012 - 应用程序可执行文件名与 vshost 可执行文件名不同

c# - 系统.ServiceModel.Web .NET Core

wcf - 使用 WCF 服务的 .NET Core 应用程序中的内容问题

c# - 使用依赖于记录器的选项验证器创建依赖于选项的自定义记录器时出现循环依赖异常

docker - dotnet 测试未在 docker 中使用标志 --no-build 运行

c# - 如何更改 Visual Studio Code 中的默认构建输出目录