出现奇怪的编译错误 - .NET Core

3

我不确定最近做了什么,但是直到一周前这都是可行的。突然当我尝试编译项目时,它给了我8463个编译错误。以下是其中的几个。

enter image description here

如果你们中有任何人遇到过这种情况,请帮助我解决。我正在使用.net core应用程序1.0.0。但我的PC上也安装了1.0.1。

当我尝试使用dotnet build cli进行编译时,我会得到以下错误消息。

无法找到与目标运行时'win7-x64'兼容的.NETCoreApp, Version = v1.0的框架的运行时目标。可能的原因:

  1. 项目尚未还原或还原失败-运行 dotnet restore
  2. 项目在“runtimes”部分中未列出“win7-x64”之一。
  3. 您可能正在尝试发布不受支持的库。使用 dotnet pack 来分发库。

我已经运行了dotnet restore。我不确定第2点。因为它以前在同一台机器上工作。

另外,我没有在project.json中提到任何runtimes部分。

更新:

如其他帖子所述。我添加了

  "runtimes": {
        "win7-x64": { }
      }

但是没有起作用。
项目.Json:
{
  "userSecretsId": "aspnet-IdentityServer-db76f1cf-15a8-4dc0-8200-221a224b454c",
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.DependencyInjection": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
    "Microsoft.Extensions.Caching.Abstractions": "1.0.0",
    "Microsoft.Extensions.Caching.Memory": "1.0.0",
    "System.Security.Cryptography.Algorithms": "4.2.0",
    "Serilog": "2.2.1",
    "Serilog.Sinks.Literate": "2.0.0",
    "Serilog.Extensions.Logging": "1.0.0",
    "IdentityServer4": "1.0.0-beta5",
    "IdentityManager.V2.Entities": "1.0.0-*",
    "IdentityManager.V2.Data": "1.0.0-*",
    "Microsoft.AspNetCore.Authentication.Google": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Facebook": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Twitter": "1.0.0",
    "Serilog.Sinks.Seq": "3.0.1",
    "System.Runtime": "4.1.0"
  },
  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "dnxcore50",
        "portable-net452+win81"
      ]
    }
  },

  "runtimes": {
    "win7-x64": {}
  },

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

  "runtimeOptions": {
    "gcServer": true
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

我尝试了那个解决方案,但对我没有起作用。 - Venkata Dorisala
你能发一下你的 project.json 文件吗? - svick
2
我无法恢复IdentityServer4IdentityManager包。将IdentityServer4升级并注释掉IdentityManager包就解决了问题。 - Ignas
恢复功能一直正常工作。但是当我编译或更新任何NuGet包时,就会出现所有奇怪的8529编译错误。 - Venkata Dorisala
@Ignas,我认为身份管理器不是他们的核心产品,而是IdSrv 3。当我阅读您有关更新软件包的评论时,我注意到了您在project.json中的旧引用...我认为您也不需要dnxcore50调用... - Muqeet Khan
1个回答

6
当我们更新软件包时,会从Project.json文件中删除"type":"platform",例如:
"Microsoft.NETCore.App": { "version": "1.1.0", "type": "platform" }
更新后,它看起来像这样: "Microsoft.NETCore.App": "1.1.0" 。解决此错误的方法是使用以下行更新Json文件:
"Microsoft.NETCore.App": { "version": "1.1.0", "type": "platform" }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接