VS2017 csproj没有ItemGroup标签

时间:2018-07-03 13:05:35

标签: c# .net visual-studio-2017

如果我使用VS2017创建一个项目(TargetFramework为netstandard2.0),则csproj会自动选择复制到该目录的所有* .cs /文件夹,并且csproj文件不包含对* .cs文件的任何引用。

如果我必须使用命令行选项MSBUILD来使用sln / csproj编译项目,我该怎么办?因为csproj不包含对cs文件的引用。

因为早期的csproj(使用vs2012创建)版本将包含包含要编译文件列表的标签,但在VS2017中,csproj文件不再包含这些标签。

1 个答案:

答案 0 :(得分:2)

如果您使用的是最新的MSBuild,它将了解新的csproj格式并自动包含所有文件。

但是,您仍然可以在csproj中使用ItemGroup,如果要防止文件被编译或为文件提供特殊属性,此功能特别有用。例如,如果您有一个名为Foo.cs的文件,不想将其编译为库的一部分,则可以将其添加到csproj中:

<ItemGroup>
    <Compile Remove="Foo.cs" />
</ItemGroup>