prosource

에서 업그레이드한 후 대상을 다시 지정합니다.Net Framework 4.5 - 4.6.1

probook 2023. 5. 28. 20:55
반응형

에서 업그레이드한 후 대상을 다시 지정합니다.Net Framework 4.5 - 4.6.1

저는 약 30개의 프로젝트가 있는 .net 솔루션을 가지고 있으며, 모두 대상입니다.NetFramework 4.5. 및 각각 최소 3-4개의 NuGet 패키지를 참조합니다.

이제 업데이트해야 합니다.Net Framework 4.6.1.그래서 제가 알아야 할 것은 다음과 같습니다.

  1. NuGet 패키지도 다시 대상으로 지정해야 합니까? 아니면 '인플레이스' 업그레이드이므로 건너뛸 수 있습니까?
  2. 만약 그렇다면, 각 NuGet 패키지에 대해 targetFramework="net45"를 targetFramework="net461"로 대체하여 각 프로젝트에 대한 packages.config 파일을 업데이트하면 됩니까?'update-package' 명령을 사용하여 패키지를 제거한 후 다시 설치할 것을 권장하는 몇 가지 스레드를 보았습니다.저는 오늘 그것을 시도했지만 몇 가지 오류가 발생했습니다.

패키지의 대상이 자동으로 변경되지는 않지만 이에 대한 자동 수정이 있습니다.

Package Manager 콘솔에서 다음을 실행합니다.

Update-Package -Reinstall

그러면 패키지 관리자가 참조된 패키지의 버전을 변경하지 않고 모든 프로젝트의 모든 패키지를 다시 설치해야 합니다.

새 프레임워크가 대상이 된 후 패키지를 다시 설치하면 모든 참조가 올바른 버전으로 변경됩니다.

다음을 사용하여 단일 프로젝트에 대해 이 작업을 실행할 수도 있습니다.

Update-Package -Reinstall -ProjectName Project.Name.Here

저는 이 기술을 여러 번 사용하여 nugget 참조 문제를 해결했습니다.

1 모든 .csproj 파일을 찾아서 바꿉니다.

<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>

와 함께

<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>

2 Package Manager 콘솔을 열고 실행

Update-Package -Reinstall -IgnoreDependencies

3 모든 해결책을 찾은 다음 각각을 구축합니다.

-을 사용하여 고정

업데이트 - 패키지 - 다시 설치

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/36023982/nuget-re-targeting-after-upgrading-from-net-framework-4-5-to-4-6-1

반응형