반응형
.Net Framework 4.5에서 4.6.1로 업그레이드 한 후 Nuget 재 타겟팅
이 질문에는 이미 답변이 있습니다.
약 30 개의 프로젝트가있는 .net 솔루션이 있는데 모두 .Net Framework 4.5를 대상으로합니다. 각각 적어도 3-4 개의 NuGet 패키지를 참조합니다.
이제 .Net Framework 4.6.1로 업데이트해야합니다. 그래서 내가 알아야 할 것은 다음과 같습니다.
- NuGet 패키지도 다시 대상으로 지정해야합니까? 아니면 '인플레 이스'업그레이드이므로 건너 뛸 수 있습니까?
- 그렇다면 각 NuGet 패키지에 대해 targetFramework = "net45"를 targetFramework = "net461"로 바꾸어 각 프로젝트의 packages.config 파일을 업데이트 할 수 있습니까? 나는 'update-package'명령을 통해 패키지를 제거하고 다시 설치하도록 권장하는 몇 가지 스레드를 보았습니다. 오늘 시도했지만 몇 가지 오류가 발생했습니다.
패키지는 자동으로 대상이 변경되지 않지만 이에 대한 자동 수정이 있습니다.
패키지 관리자 콘솔에서 다음을 실행하십시오.
Update-Package -Reinstall
이렇게하면 패키지 관리자가 모든 프로젝트의 모든 패키지를 다시 설치해야합니다 (참조 된 패키지의 버전을 변경하지 않고).
새 프레임 워크를 대상으로 한 후 패키지를 다시 설치하면 모든 참조가 올바른 버전으로 변경됩니다.
다음을 사용하여 단일 프로젝트에 대해 실행할 수도 있습니다.
Update-Package -Reinstall -ProjectName Project.Name.Here
이 기술을 여러 번 사용하여 너겟 참조 문제를 수정했습니다.
1 모든 .csproj 파일을 찾아서
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
와
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
2 패키지 관리자 콘솔을 열고 실행
Update-Package -Reinstall -IgnoreDependencies
3 모든 솔루션을 찾은 다음 각각을 msbuild합니다.
-를 사용하여 수정
업데이트 패키지-재설치
반응형
'program tip' 카테고리의 다른 글
phpunit에서 assertEquals와 assertSame의 차이점은 무엇입니까? (0) | 2020.08.07 |
---|---|
angularjs의 foreach 루프 (0) | 2020.08.07 |
ALTER TABLE 문에 'ON DELETE CASCADE'를 추가하는 방법 (0) | 2020.08.07 |
Ruby on Rails : 10보다 작은 숫자 앞에 어떻게 0을 추가합니까? (0) | 2020.08.06 |
Android Studio에서 외부 라이브러리 추가 (0) | 2020.08.06 |