programing

프레임워크의 런타임 대상을 찾을 수 없습니다.대상 런타임 중 하나와 호환되는 NETCoreApp= v1

muds 2023. 4. 26. 23:47
반응형

프레임워크의 런타임 대상을 찾을 수 없습니다.대상 런타임 중 하나와 호환되는 NETCoreApp= v1

Asp를 마이그레이션하려고 합니다.NetCore RC1은 RC2로 프로젝트를 진행하고 있으며, 이 문서를 준수하고 있으며, DNX를 로 마이그레이션하기 위한 지침도 준수하고 있습니다.NET CLI.

시도할 때 다음 오류가 발생합니다.dotnet run:

프레임워크 '에 대한 런타임 대상을 찾을 수 없습니다.대상 런타임 중 하나와 호환되는 NETCoreAPP, Version=v1.0': 'win10-x64, win81-x64, win8-x64, win7-x64'.가능한 원인:

  1. 프로젝트가 복원되지 않았거나 복원에 실패했습니다. '도트넷 복원'을 실행하십시오.
  2. 이 프로젝트는 '실행 시간'에 'win10-x64, win81-x64, win7-x64' 중 하나를 나열하지 않습니다.

는 요쳤어도를 했습니다.dotnet restore성공적으로 완료된 것 같습니다.

RC2에 관련 패키지를 모두 업데이트했습니다.

저는 오류 메시지가 말한 대로 정확히 했어야 했습니다. 때 RC1을 .runtimes 내션의 project.jsonjava.

내 안에서project.json다음 섹션을 추가했습니다.

"runtimes": {
    "win10-x64": { }
  }

저는 갈 수 있었습니다.


2017년 2월 27일 업데이트

새은 더 (Visual Studio 2017 RC에서는 실행 시간을 지정할 필요가 없습니다).project.json또는.csproj) 만약 당신이 당신의 앱을 a로 배포하기로 선택한다면 미리.Framework Dependent Deployment(FDD).

만약 한다면, 당신은 당신의 앱을 사용할 것입니다.Self-contained Deployment(SCD), 그러면 앱을 실행할 모든 실행 시간을 미리 지정해야 합니다..csprojjava.

은 아는다예다니입의 입니다..csprojSCD 배포 방법을 사용하는 앱의 파일:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.0</TargetFramework>
    <VersionPrefix>1.0.0</VersionPrefix>
    <DebugType>Portable</DebugType>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
  </ItemGroup>
</Project>

두 가지 유형의 배포 옵션과 장점 및 단점에 대한 자세한 설명이 포함된 자세한 내용은 이 링크를 참조하십시오.

VS2015 코어 템플릿을 1.0.1로 업데이트한 후 이 오류가 발생했습니다. 저는 PCL을 목표로 있기 입니다.netstandard 1.4.Microsoft.NETCore.App대상:

"Microsoft.NETCore.App": {
 "type": "platform",
 "version": "1.0.1"
}

project.json에서 다음을 변경했습니다(유형 추가).

//"Microsoft.NETCore.App": "1.1.0",
"Microsoft.NETCore.App": { "version": "1.1.0", "type": "platform" },

이제 다시 지을 수 있습니다 :-)

업데이트: 이제 웹 사이트를 다시 빌드할 수 있지만 "실행"할 수 없습니다.

또한 런타임 및 sdk가 있는지 확인해야 합니다.

*) Visual Studio 도구에는 다음이 포함됩니다.NET Core 1.0.1.추가하기.NET Core 1.1 지원을 설치하려면 를 설치해야 합니다.NET Core 1.1 런타임.

https://www.microsoft.com/net/download/core #/현재

Visual Studio 2015에서 믿을 수 없을 정도로 손상된 NuGet Package Manager를 사용하여 project.json 종속성을 업데이트했기 때문에 이 오류가 발생했습니다.이렇게 변했습니다.

"frameworks": {
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "type": "platform",
        "version": "1.0.1"
      } 
    }
  }
}

여기에:

"dependencies": {
  "Microsoft.NETCore.App": "1.1.0"
},
"frameworks": {
  "netcoreapp1.0": {}
}

안녕, 플랫폼 정의!

다음 두 링크를 읽는 경우:

먼저, https://learn.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli .

그리고.

둘째, https://learn.microsoft.com/en-us/dotnet/articles/core/rid-catalog .

project.json의 종속성 루트 요소에서 다음 스니펫을 사용하여 완전히 이식 가능한 버전을 구축할 수 있습니다.실행 시간은 플랫폼에 구애받지 않거나 "프레임워크 종속"으로 알려진 코어 수준 런타임이므로 지정할 필요가 없습니다.

"Microsoft.NETCore.App": {
    "type": "platform",
    "version": "1.0.1"
}

또는 다음과 같은 유형의 플랫폼 요소를 제거하여 여러 대상 플랫폼("자체 포함 애플리케이션")을 위해 구축할 수 있습니다.

project.json의 종속성 루트 요소에 추가합니다.

"Microsoft.NETCore.App": {
    "version": "1.0.1"
}

새 루트 수준 요소로 추가합니다.

"runtimes": {
    "win10-x64": {},  /* one or more RIDs */
    "osx.10.10-x64": {}
  },

대상이 여러 개인 경우 "라고 하는 플랫폼 이름을 제공해야 합니다.NET Core Runtime IDentifier(RID)" 위의 두 번째 링크에서 이러한 목록을 찾을 수 있습니다.Windows, Linux 및 OS X의 다양한 버전이 포함되어 있습니다.

다양한 배포 옵션에 대한 자세한 내용은 다음 페이지를 참조하십시오.

https://learn.microsoft.com/en-us/dotnet/articles/core/deploying/index

위 링크에서:

에 대해 두 가지 유형의 배포를 생성할 수 있습니다.NET Core 애플리케이션:

프레임워크에 의존하는 배포

이름에서 알 수 있듯이 FDD(Framework-Dependent Deployment)는 의 공유 시스템 전체 버전에 의존합니다.대상 시스템에 NET Core가 있어야 합니다.왜냐면.NET Core가 이미 있습니다. 앱은 설치 간에도 이동할 수 있습니다.NET 코어.앱에는 자체 코드와 외부의 타사 종속성만 포함되어 있습니다.NET Core 라이브러리.FDD에는 명령줄에서 dotnet 유틸리티를 사용하여 시작할 수 있는 .dll 파일이 포함되어 있습니다.예를 들어 dotnet app.dll은 app이라는 이름의 애플리케이션을 실행합니다.

독립형 배포

FDD와 달리 SCD(Self-Contained Deployment)는 대상 시스템에 존재하는 공유 구성 요소에 의존하지 않습니다.모든 구성 요소(둘 다 포함)NET Core 라이브러리 및 를 참조하십시오.NET Core 런타임은 응용 프로그램에 포함되어 있으며 다른 프로그램과 분리되어 있습니다.NET Core 애플리케이션.SCD에는 플랫폼별로 이름이 변경된 버전인 실행 파일(예: 윈도우즈 플랫폼의 app.exe)이 포함됩니다.NET Core 호스트 및 실제 응용 프로그램인 .dll 파일(예: app.dll).

저의 경우, 저는 방금 모든 nugget 패키지를 최신 버전으로 업데이트했고 nugget은 제 'Microsoft'를 변경했습니다.NET Core.앱의 패키지 참조:

"Microsoft.NETCore.App": "1.1.0"

저는 그것을 다시 다음 양식으로 바꿨고 모든 것이 잘 작동했습니다.

"Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    }

안녕 내 인생 3시간..

닷넷을 새로 실행하고 출력 프로젝트 json을 보면 모니커가 변경된 것을 볼 수 있습니다.

다음과 같이 project.json을 변경합니다.

"dependencies": {},
   "frameworks": {
     "netcoreapp1.0": {
        "dependencies": {
         "Microsoft.NETCore.App": {
         "type": "platform",
         "version": "1.0.1"
         }
    },
      "imports": "dnxcore50"
    }
  }

는 다음 페이지 아래에서 svick의 댓글에서 유용한 링크를 찾았습니다: https://github.com/dotnet/cli/issues/2442 .

저는 당신이 project.json에서 다음이 필요하다는 것을 발견했습니다.다음은 오류를 수정하는 데 필요한 사항입니다.

종속성

"dependencies": {
   "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
   },
}

프레임워크

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

런타임

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

IIS에 게시하려는 경우 런타임을 추가할 수 있습니다.다음을 참조하십시오.

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

여기 저에게 효과가 있었던 일반적인 팁이 있습니다.제 물건이 고장났을 때, 저는 가끔 기본 ASP를 만듭니다.NET Core 응용 프로그램은 project.json 및 다른 곳의 종속성을 살펴보기 위해 웹 사이트 또는 빈 웹 API를 사용합니다.그런 식으로 많은 것들을 잡을 수 있습니다.위의 답변은 정확하지만, 누군가 ASP의 일반 템플릿 형식에서 논리를 더 분리하고 싶어할 경우를 대비하여 여기에 이 글을 써야겠다고 생각했습니다.NET Core가 사용합니다.

VS 2015가 설치된 윈도우즈 7에서 netcore 1.1.2로 업데이트한 후 Soluiton은 다음과 같이 project.json 파일을 변경했습니다.

{
"version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.NETCore.App": "1.1.2"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"    //This line must disappear
    }
  },

  "runtimes": {                 //
    "win7-x64": {}              //Add this lines
  }                             //
}

이를 변경하면 종속성이 업데이트되고 비올라가 발생합니다.

언급URL : https://stackoverflow.com/questions/37590604/can-not-find-runtime-target-for-framework-netcoreapp-v1-compatible-with-one-of

반응형