2010-03-08 2 views
1

HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\MyFolder과 같은 레지스트리 키를 내 어셈블리가있는 폴더에 추가 했으므로 "참조 추가"대화 상자를 볼 때 Visual Studio에서 해당 어셈블리를 볼 수 있습니다.Visual Studio 2008 AssemblyFolders의 SpecificVersion 메타 데이터를 설정하는 방법

내 질문에 Visual Studio에서 매우 구체적인 참조 대신 모호한 참조를 추가해야한다고 어떻게 말할 수 있습니까?

예를 들어 내 .csproj 파일에서 버전, 문화 또는 공개 키 토큰이없는 <Reference Include="System.Xml" />이 표시됩니다. 그러나 내 자신의 참조를 추가 할 때 모든 것을 지정하므로 어셈블리를 업그레이드하면 빌드가 중단됩니다.

또는 Visual Studio에서 SpecificVersion 메타 데이터를 False으로 설정하는 방법이 있습니까? 이것은 동일한 목표를 성취 할 것입니다.

답변

0

이것은 의도적으로 설계된 것 같습니다. IDE에서는 버전 번호없이 어셈블리를 추가 할 수 없습니다. 이는 특정 버전의 구성 요소에 대해 개발 중일 때 유용합니다.

코드에서 버전 번호를 확인한 경우 새 버전을 클라이언트 어셈블리 작성자로 명시 적으로 선택해야합니다. 그렇지 않으면 참조 된 어셈블리에 도입 된 변경 사항을 깨면 놀라실 수 있습니다.

편집 MSDN link text에서 부분 어셈블리 참조에이 기사는 아마 당신이이 문제를 해결하고 싶지 방법입니다. 나는 이것을 다른 SO 게시물 link text에 게시했습니다. 참고 :이 경우 응용 프로그램의 디렉토리에서 찾을 Assembly.Load를 사용합니다.

+0

csproj 파일의 부분 참조는 빌드시에 확인되므로 version, culture 등을 지정했는지 여부에 관계없이 내 어셈블리는 빌드가 일치하는 어셈블리를 찾으면 모든 것을 포함하는 참조를 갖게됩니다. –