나는 .NET 4.0 프로젝트 (C#)와 함께 하나의 솔루션으로 지연된 서명 된 DLL을 생성합니다. 즉, 난 음울점을 표시하고 서명합니다.dll을 참조 할 때 빌드 번호 무시
편집 : 이것은 어떻게 내가 버전 DLL :
[assembly: AssemblyVersion("0.7.0.*")]
[assembly: AssemblyFileVersion("0.7.0.0")]
나는 .NET 4.0 프로젝트에 다른 해결책을 가지고 (C++/CLI) 서명 된 DLL을 참조 실제로 (서명 된 DLL을 생성 , 게시가 지연되고 서명이 지연되어 a flaw in the C++ build system으로 인해 서명 됨).
문제는 DLL에 대한 참조도 빌드 번호를 (내가 빌드 번호를 갖고 싶어)을 포함하는 특정 버전 번호를 포함합니다.
내가 참조 된 DLL을 만들 때마다, 나는 프로젝트 설정 파일 (.vcxproj)을 변경해야하므로 새 버전의 DLL을 참조합니다. 소스 제어로 작업하기 때문에 이것은 매우 불편합니다. 각 컴퓨터는 자체적으로 참조 된 dll을 작성하기 때문에 서로 다른 빌드 번호가있을 수 있습니다. 참조 된 dll은 소스 제어에 없습니다.
경고 MSB3245 : I는 기준을 변경하지 않으면
, 내가 경고를 이 참조를 확인할 수 없습니다. ...이 같은
그리고 많은 오류를 어셈블리를 찾을 수 없습니다 :
오류 C3083 : '푸'는 '::'형식이어야의 왼쪽에있는 기호 내가 참조를 변경하면
이
는 해결됩니다.어떻게 참조가 빌드 번호 또는 전체 버전 번호를 무시해야합니까?
+1. 감사. 제 질문을 편집하여 어셈블리 버전을 포함하는 방법을 포함 시켰으며 VS2010의 버그가 아니라 빌드의 결함을 언급했습니다. 모든 빌드를 새 버전으로 만들고 싶습니다.이 작업은 [AssemblyVersion]을 사용하고 [AssemblyFileVersion]을 사용하지 않고 수행 할 수 있습니다. [AssemblyVersion]에서 "*"를 사용하지 않아야합니까? – brickner
예, [AssemblyVersion]에서 *를 사용하면 문제가 발생합니다. –
@Hans Passant에게 감사드립니다. 그건 그렇고, 지연 서명하지 않아도되는 것은 사실입니다. 그러나 내가하지 않으면 경고를 받는다. 경고 810100b3 : ... 서명이 강한 어셈블리이며 매니페스트를 포함하면 서명이 무효화됩니다. 이 파일을 올바른 어셈블리로 만들려면이 파일에 다시 서명해야합니다. – brickner