【发布时间】:2018-07-03 13:05:35
【问题描述】:
如果我使用 VS2017 创建一个项目(使用 TargetFramework 作为 netstandard2.0),csproj 会自动选择复制到该目录的所有 *.cs/文件夹,并且 csproj 文件不包含对 *.cs 文件的任何引用.
如果我必须使用命令行选项 MSBUILD 来使用 sln/csproj 编译项目,我该怎么做?因为 csproj 不包含对 cs 文件的引用。
因为较早的 csproj(使用 vs2012 创建)版本会包含包含要编译的文件列表的标签,但在 VS2017 中,csproj 文件不再包含这些标签。
【问题讨论】:
-
如果您使用的是最新的 MSBuild,它将理解新的 csproj 格式。你试过建造吗?
-
同意,但是如果我想在构建时排除一些文件,我该怎么做
-
您仍然可以像以前一样包含文件。只需这样做并为文件设置构建操作。
-
好的,你的意思是手动在csproj中添加文件并构建它?那么引用呢?msbuild 会自动获取它吗
-
MSBuild 将拾取所有文件并构建它们。如果要从构建过程中排除文件,可以添加
<ItemGroup><Compile Remove="SomeFile.cs" /></ItemGroup>
标签: c# .net visual-studio-2017