我正在使用dotnet核心csproj并且我添加了一个新文件。由于约定优于配置,它最初不会被添加到csproj中。但是只要我将Build Action从None更改为Embedded资源,就会有两个条目写入csproj文件:
<None Remove="MyFile.sql" />
和
<EmbeddedResource Include="MyFile.sql" />
第一个条目是什么意思?这对我来说似乎是多余的。
答案 0 :(得分:10)
sdk风格的项目有一些自动包含。
默认情况下,sdk具有<None Include="**/*">
(简化)之类的内容,在项目内容之前添加(包含)。但是你不希望你的文件出现在&#34; None&#34;设置,但在&#34; EmbeddedResource&#34;集。
MSBuild对于多个项目组中的文件没有任何问题,但它应该只有一个,这样IDE就不会混淆(只有在显示正确的文件时显示文件)建立行动)。
因此,这两个语句意味着&#34;将其从None集(项目)中删除并将其添加到EmbeddedResource集合(项目)&#34;。