当目录树中有其他项目文件时,我正在尝试使用dotnet构建一个项目。
参数
项目
要构建的项目文件。如果未指定项目文件,则为MSBuild 在当前工作目录中搜索具有文件的文件 以proj结尾并使用该文件的扩展名。
然而,当我跑步时
dotnet build project.csproj -c Release
递归搜索所有目录,并尝试构建找到.csproj文件的所有项目。
就我而言,根目录中有project.csproj。五个目录级别下来,还有另外三个.csproj文件。这是文件的样子,名称改变了:
当我跑步时
dotnet build project.csproj -c Release
它找到其他.csproj文件并尝试构建它们。 project.csproj与其他项目没有依赖关系。
这似乎与文档不一致。在命令行中,我可以做什么来将构建约束到我指定的单个项目?
答案 0 :(得分:0)
实际上,这个问题有两种可能的解决方案:
重构您的文件夹结构,以从子文件夹中排除项目。这将需要您的项目新targetViewController
。
./ 主要强> /project.csproj
./ scriptlibrary /项目/ PROJECT1 / DIR1 / DIR2 / project2.csproj ./scriptlibrary/Projects/project1/dir1/dir3/project3.csproj ./scriptlibrary/Projects/project1/dir1/dir4/project4.csproj
如果您不能这样做,可以通过将.sln
属性项添加到<DefaultItemExcludes>
中来排除编译中的子文件夹:
project.csproj
这将强制编译器从编译中排除指定的子文件夹,而其他项目将不会在project.csproj的范围内编译