“ dotnet new sln”是新命令吗?
是。在dotnet命令行界面的1.0.1版本中,有一个dotnet new sln
命令。从project.json更改为csproj的命令。如果运行dotnet new --help
,我们将看到“解决方案文件”作为模板之一。
> dotnet new --help
Templates Short Name Language Tags
----------------------------------------------------------------------
Console Application console [C#], F# Common/Console
Class library classlib [C#], F# Common/Library
Unit Test Project mstest [C#], F# Test/MSTest
xUnit Test Project xunit [C#], F# Test/xUnit
ASP.NET Core Empty web [C#] Web/Empty
ASP.NET Core Web App mvc [C#], F# Web/MVC
ASP.NET Core Web API webapi [C#] Web/WebAPI
Solution File sln Solution
我什么时候应该使用这个?
两次使用解决方案文件是:
- 当我们想使用Visual Studio时,和/或
- 当我们想将多个项目作为一个单元来管理时。
通过创建.sln文件而不是仅包含项目文件,我可以获得什么好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio Code for Mac,因此它可能不适用。
不需要Visual Studio的好处之一就是将多个项目作为一个单元进行管理。
例如,在带有Visual Studio Code的Mac上,我们可以使用dotnet
CLI创建新解决方案,创建一些项目,将这些项目添加到解决方案,还原解决方案并构建解决方案。
dotnet new sln --name FooBar
dotnet new console --name Foo --output Foo
dotnet new console --name Bar --output Bar
dotnet sln add .\Foo\Foo.csproj
dotnet sln add .\Bar\Bar.csproj
dotnet restore
dotnet build FooBar.sln
最后一个调用的命令dotnet build
的好处是可以构建解决方案中的所有项目。没有解决方案,我们将需要调用dotnet build
每个项目。
毫无疑问,其他好处不需要使用Visual Studio。我把那些留给你去发现。
dotnet
您从命令行使用的是哪个版本?也就是说,您在写作时会看到什么dotnet --version
?