首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用dotnet将所有项目添加到单个解决方案中?

问如何使用dotnet将所有项目添加到单个解决方案中?
EN

Stack Overflow用户
提问于 2018-08-25 12:28:38
回答 4查看 7.6K关注 0票数 11

下面是来自这里的示例,我试图执行

代码语言:javascript
复制
dotnet sln AllProjects.sln add **/*.csproj

但我知道这个错误:

找不到项目或目录**/*.csproj。

看来通配符不起作用了。我做错了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-25 17:08:03

我错过了这句话:

基于Unix/Linux的终端支持全局模式。

我的Windows PowerShell解决方案如下所示:

代码语言:javascript
复制
$projects = Get-ChildItem -Recurse | Where-Object { $_.Name -match '^.+\.(csproj|vbproj)$' }

$uniqueProjects = $projects | Group-Object -Property Name | Where Count -EQ 1 | select -ExpandProperty Group | % { $_.FullName }

Invoke-Expression -Command "dotnet new sln -n AllProjects"

$uniqueProjects | % { Invoke-Expression -Command "dotnet sln AllProjects.sln add ""$_""" }
票数 11
EN

Stack Overflow用户

发布于 2021-03-21 15:38:43

对于Windows,打开PowerShell并运行以下命令将所有项目添加到解决方案文件中:

代码语言:javascript
复制
 dotnet sln add (ls -r **/*.csproj)
票数 20
EN

Stack Overflow用户

发布于 2020-03-10 01:21:04

在Windows上,还可以使用以下命令递归地将子目录中的所有项目添加到预先存在的解决方案文件中:

代码语言:javascript
复制
FOR /R %i IN (*.csproj) DO dotnet sln add "%i"

或者,如果经常需要(重新)创建解决方案文件,则可以创建具有以下内容的批处理文件,然后在需要时只运行它:

代码语言:javascript
复制
dotnet new sln 
FOR /R %%i IN (*.csproj) DO dotnet sln add "%%i"

请注意,当尝试在批处理文件中执行此操作时,需要额外的%。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52017316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档