我正在尝试使用它作为基础项目模板在asp.net core / npm / react上加快速度:
https://github.com/jonmcquade/aspnetcore-react-redux#local-no-docker
一旦尝试这个命令,我最初遇到了麻烦:
dotnet build -c Release -o ./app
我看到的错误:
适用于global.json版本的兼容SDK版本:[2.1.0]来自 找不到[global.json]您是不是想运行dotnet SDK命令? 请从以下位置安装dotnet SDK:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
我安装了文档中的特定版本,并且安装了最新版本,包括x64和x86平台。
我现在也运行npm install
命令或dotnet --version
命令时出错,但我安装了SDK。
感觉机器配置已经以某种方式破坏了。我似乎已经尝试了一些版本的pickle试图使dotnet build
命令工作,现在甚至NPM都无法工作。
Global.json是:
{
"sdk": { "version": "2.1.0" }
}
.csproj文件包含:
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeFrameworkVersion>2.1.0-preview1-26216-03</RuntimeFrameworkVersion>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<IsPackable>false</IsPackable>
<AssemblyName>FlightSearch</AssemblyName>
<RootNamespace>FlightSearch</RootNamespace>
<ApplicationIcon>ClientApp\favicon.ico</ApplicationIcon>
<Authors>Jon McQuade</Authors>
<Company>ACME Freelancing, Inc.</Company>
<StartupObject></StartupObject>
<Product>Flight Search</Product>
<Description>ASP .NET Core 2.1 MVC SPA with React and Redux</Description>
<RepositoryUrl>http://github.com/jonmcquade/aspnetcore-react-redux</RepositoryUrl>
<PreserveCompilationContext>true</PreserveCompilationContext>
<TypeScriptToolsVersion>2.8</TypeScriptToolsVersion>
<OutputType>Exe</OutputType>
<Version>2.1</Version>
</PropertyGroup>
我错过了什么让这个工作?
我可以检查一些机器配置问题吗?也许环境变量?我尝试使用安装程序运行修复,但这并没有解决问题。
答案 0 :(得分:5)
global.json
指定用于构建应用程序的.NET Core的 SDK 版本。这与您希望运行应用程序的.NET Core Runtime版本没什么关系。
您的应用程序是netcoreapp2.1
,因此您运行的是.NET Core 2.1 Runtime。最早的SDK版本为2.1.300
。
由于这是最新的.NET Core版本,您实际上根本不需要使用global.json
:只需从项目中删除该文件,工具应使用最新版本{{1在你的机器上。
答案 1 :(得分:1)
如果您在OSX上遇到此问题,则可以通过以下方式解决此问题:
which dotnet
ls
+上一条命令的输出
您现在应该看到类似以下内容的内容:
/usr/local/share/dotnet/dotnet
包含dotnet
二进制文件的目录也应该有一个名为sdk
的目录,因此对于上面的示例,您可以运行ls /usr/local/share/dotnet/sdk
,该目录应输出具有当前版本号的目录。就我而言,2.1.403
(获得版本号可能是一种更好的方法,但是如果没有指定正确的sdk,我将无法运行dotnet --version
)
如果我现在在应用程序的根目录中打开global.json
文件,并将sdk
版本更改为"2.1.403-osx-gs-x64"
,则现在应该可以运行dotnet
命令,例如dotnet run
来自我的项目。
答案 2 :(得分:0)
只需确保您的计算机中已安装所需的SDK版本。发生错误时,它为.NET core 2.1.0
。您不再需要globaljson
文件。