【问题标题】:dotnet core project not working in debiandotnet 核心项目在 debian 中不起作用
【发布时间】:2017-04-04 12:50:27
【问题描述】:

我正在尝试在 debian jessie 中运行 dotnet core webapi。该项目在 Windows 上运行良好,但是当我在 Linux 上运行 dotnet restore 时,我得到了

"error MSB4019: The importing project "/usr/share/dotnet/sdk/1.0.1/Microsoft/VisualStudio/v14.0/DotNet/Microsoft.DotNet.Props" is not found. 确认在声明是正确的,并且该文件存在于磁盘上。” 此外,如果我尝试示例 helloworld 应用程序,它可以在 debian 上运行。

下面是我的project.json

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "**/*.cshtml",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

最后一件事,它实际上是运行在 windows docker 工具上的 jessie 的 docker 容器。

【问题讨论】:

  • 您能否尝试 (a) 从配置属性中删除“System.GC.Server”,以及 (b) 备份您的 project.lock.json,将其删除并重建
  • 按照你的建议做了两件事,还是一样的错误。
  • 你确定你安装了 .Net Core 1.0.1 吗?
  • @svick: dotnet --version 1.0.1

标签: debian .net-core


【解决方案1】:

我不得不删除“projectname.xproj”,错误消失了,但后来我开始收到“找不到恢复错误。为了解决这个问题,我删除了我的 project.json 文件并创建了一个 projectname.csproj 文件并添加了所有依赖项。一切都开始像魅力一样工作

【讨论】:

  • dotnetcore 新版本,即 1.0.1 不使用 project.json,因此如果您的项目有 project.json,并且您想在 dotnet1.0.1 及更高版本中构建/运行它,请使用命令“dotnet migrate ”。这将创建将旧 dotnetcore 项目(带有 project.json)转换为 dotnet core 1.0.1 兼容项目所需的所有必要文件。
猜你喜欢
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 2020-11-01
相关资源
最近更新 更多