我正在使用 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/