如果我使用VS2017创建一个项目(TargetFramework为netstandard2.0),则csproj会自动选择复制到该目录的所有* .cs /文件夹,并且csproj文件不包含对* .cs文件的任何引用。
如果我必须使用命令行选项MSBUILD来使用sln / csproj编译项目,我该怎么办?因为csproj不包含对cs文件的引用。
因为早期的csproj(使用vs2012创建)版本将包含包含要编译文件列表的标签,但在VS2017中,csproj文件不再包含这些标签。
答案 0 :(得分:2)
如果您使用的是最新的MSBuild,它将了解新的csproj格式并自动包含所有文件。
但是,您仍然可以在csproj中使用ItemGroup
,如果要防止文件被编译或为文件提供特殊属性,此功能特别有用。例如,如果您有一个名为Foo.cs
的文件,不想将其编译为库的一部分,则可以将其添加到csproj中:
<ItemGroup>
<Compile Remove="Foo.cs" />
</ItemGroup>