Windows命令提示符中的“您是要运行dotnet SDK命令吗?请安装dotnetsdk”

时间:2019-02-05 20:19:58

标签: c# .net asp.net-core .net-core

我刚刚在系统viz上安装了点网核心sdk和运行时(2.2.1)。 Windows Server 2012R2。 我正在尝试使用命令提示符使用

创建控制台应用程序
import functools
import sys
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QLabel, QMessageBox


def closeEvent(self, event):
    choice = QMessageBox.question(self, "Quit", "Do you want to quit chit chat?", QMessageBox.Yes | QMessageBox.No)
    if choice == QMessageBox.Yes:
        event.accept()
    else:
        event.ignore()


app = QApplication(sys.argv)

v_box = QVBoxLayout()

window = QWidget()

window.closeEvent = functools.partial(closeEvent, window)

label = QLabel("Hello World")

v_box.addWidget(label)

window.setLayout(v_box)
window.show()
sys.exit(app.exec())

但它说

  

您是要运行dotnet SDK命令吗?请安装dotnetsdk

是否还需要其他配置。环境路径变量还包含以下文件夹C:\ Program Files \ dotnet。 我尚未安装VS2017。试图使用VS Code

3 个答案:

答案 0 :(得分:1)

请确保已安装SDK而不只是运行时。

enter image description here

更新

如果运行dotnet.exe --list-sdks命令,这将是在未安装SDK的服务器上看到的内容

enter image description here

并且安装了SDK:

enter image description here

需要在开发计算机上安装SDK,以便能够构建和运行应用程序以及运行时(通常在应用程序服务器或用户计算机上),以便仅运行已构建的应用程序。

答案 1 :(得分:0)

就我而言,我还有一个C:\ Program Files(x86)\ dotnet,那里有一个运行时版本,该版本是从Path而不是C:\ Program Files \ dotnet中的SDK选出来的。

这将导致完全相同的错误消息,并且破坏了Visual Studio(而不是Rider)中的解决方案

答案 2 :(得分:0)

当我尝试对.Net Core 2.2 Web API解决方案进行泊坞处理时,遇到了同样的问题。

enter image description here

我使用以下图像构建图像。请注意使用sdk( mcr.microsoft.com/dotnet/core/sdk:2.2 )的地方。

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS base
WORKDIR /app
EXPOSE 5051
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS build

显然我使用的顺序是错误的,所以我将其更改为前面的内容。

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 5051
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src
........

RUN dotnet restore "Api.csproj"
WORKDIR "/src/Api"
COPY . .
WORKDIR "/src/Api"
RUN dotnet build "Api.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "Api.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .

ENV ASPNETCORE_ENVIRONMENT DevStaging
ENV ASPNETCORE_URLS=http://+:5051

ENTRYPOINT ["dotnet", "Api.dll"]

这解决了我的问题。希望对您有所帮助。