프로젝트에 NuGet 패키지를 추가해야하는 VS Extension을 작성하고 있습니다. 난 here, 특히 IVsPackageInstaller.InstallPackage(string, Project, string, string, bool)
메서드를 제안 인터페이스를 사용하고 있습니다. 패키지가 잘 설치되고 packages.config가 관련 버전을 포함하도록 변경되지만 NuGet 패키지를 설치할 때 일반적으로 생성되는 바인딩 리디렉션은 생성되지 않습니다.Nuget.VisualStudio를 사용하여 NuGet 패키지를 설치할 때 바인딩 리디렉션을 어떻게 생성합니까?
공개적으로 액세스 할 수있는 API를 호출하는 '올바른 방법'이 있습니까? 아니면 app.config가 XML처럼 효과적으로 수정되는 방식으로 '자신 만의 방식으로 게시'할 수 있습니까?
이 약간 오해의 소지합니다 - NuGet API는 packages.config 변경 -뿐만 아니라 프로젝트에 대한 참조를 추가합니다. 그리고 그것이 어떻게 작동하는지 이해합니다 -하지만 이것은 VS 확장입니다 - 그래서 AssemblyResolve 핸들러를 사용하여 코드에서 바인딩을 리디렉션하려면 코드를 생성하고 빌드중인 프로젝트에 추가해야합니다 - 아마도 덜 간단 할 것입니다 단순히 app.config를 수정하는 것보다 –
Nuget API는 단지 Install을 제공하고 프로젝트에서 패키지를 제거합니다. 그리고 설치/제거 프로세스는 프로젝트 파일을 변경시키는 참조를 프로젝트에 추가/제거합니다. 그러나 해당 어셈블리 만 참조합니다. 다른 버전이있을 때 리디렉션하지 않습니다. –