gpt4 book ai didi

.net - 找不到与某些项目的目标运行时之一兼容的框架 .NETCoreApp=v1 的运行时目标

转载 作者:行者123 更新时间:2023-12-04 01:58:47 26 4
gpt4 key购买 nike

我有一个包含许多 .NET Core 项目的解决方案。我对所有项目进行了 NuGet 更新,现在当我尝试构建时,出现以下错误(对于某些项目 - 不是全部):

Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'. Possible causes:
1. The project has not been restored or restore failed - run `dotnet restore`
2. The project does not list one of 'win10-x64, win81-x64, win8-x64, win7-x64' in the 'runtimes' section.
3. You may be trying to publish a library, which is not supported. Use `dotnet pack` to distribute libraries.

似乎有帮助的是我在这里找到的帖子 Can not find runtime target for framework .NETCoreApp=v1 compatible with one of the target runtimes

我在失败的项目中添加了以下内容:
"runtimes": {
"win10-x64": { }
}

这似乎解决了这个问题。但我的问题是,为什么这种情况只发生在某些项目上?未发出错误的项目在其 project.json 中没有这样的运行时定义。文件。

这个运行时定义究竟是什么意思?它如何影响我在 linux 或 mac 等其他操作系统上运行的能力?

最佳答案

What exactly does this runtime definition means?


runtimes列出我们的包支持的运行时。 列出运行时对于独立部署是必要的 .部署在带来自己的运行时时是自包含的。

我们如何知道我们的部署是否是自包含的? dependencies列出我们的包所依赖的包。这些依赖项分为三种类型。
  • build该软件包仅用于构建,不属于部署的一部分
  • platform该软件包将依赖于预安装的运行时
  • default两者都不是

  • 如果我们的 "Microsoft.NETCore.App"依赖项属于 default类型,那么它是自包含的,我们需要自带运行时。如果是 platform类型,那么它依赖于框架。

    why was this happening only on some projects?



    它只会发生在自包含部署的项目中。如果您查看那些不需要 runtimes 的项目属性,您会发现它们要么依赖于类库,要么依赖于框架。

    独立部署
     "frameworks": {
    "netcoreapp1.0": {
    "dependencies": {
    "Microsoft.NETCore.App": {
    "version": "1.0.0"
    }
    }
    }
    },
    "runtimes": {
    "win10-x64": {},
    "osx.10.10-x64": {}
    }

    框架依赖部署
     "frameworks": {
    "netcoreapp1.0": {
    "dependencies": {
    "Microsoft.NETCore.App": {
    "type": "platform",
    "version": "1.0.0"
    }
    }
    }
    }

    类库
     "frameworks": {
    "netstandard1.6": {}
    }

    how does it affect my ability to run on other os like linux or mac?



    它没有。 Windows、Mac OS 和 Linux 都可以预先安装运行时或让应用程序自带运行时。

    另见
  • https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json
  • https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
  • 这个链接特别值得一读,以区分独立部署和依赖框架的部署。
  • https://docs.nuget.org/ndocs/schema/project.json
  • 关于.net - 找不到与某些项目的目标运行时之一兼容的框架 .NETCoreApp=v1 的运行时目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40191498/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com