我有点困惑-我正在阅读的大多数.NET Core教程都没有提到“ dotnet new sln”-它们始终只是单独创建项目,而没有任何解决方案文件将它们链接在一起。
“ dotnet new sln”是新命令吗?
我什么时候应该使用这个?通过创建.sln文件而不是仅包含项目文件,我可以获得什么好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio Code for Mac,因此它可能不适用。
我用Google搜索了“ dotnet new sln”,结果非常小。
我有点困惑-我正在阅读的大多数.NET Core教程都没有提到“ dotnet new sln”-它们始终只是单独创建项目,而没有任何解决方案文件将它们链接在一起。
“ dotnet new sln”是新命令吗?
我什么时候应该使用这个?通过创建.sln文件而不是仅包含项目文件,我可以获得什么好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio Code for Mac,因此它可能不适用。
我用Google搜索了“ dotnet new sln”,结果非常小。
Answers:
“ 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
我什么时候应该使用这个?
两次使用解决方案文件是:
通过创建.sln文件而不是仅包含项目文件,我可以获得什么好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio Code for Mac,因此它可能不适用。
不需要Visual Studio的好处之一就是将多个项目作为一个单元进行管理。
例如,在带有Visual Studio Code的Mac上,我们可以使用dotnetCLI创建新解决方案,创建一些项目,将这些项目添加到解决方案,还原解决方案并构建解决方案。
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 run -p Foo\Foo.csproj用于mvc项目吗?似乎仅在我工作时才起作用cd Foo && dotnet run
dotnet run -p .\Foo\Foo.csproj确实为我工作。
dotnet您从命令行使用的是哪个版本?也就是说,您在写作时会看到什么dotnet --version?