문제

내 다른 .NET 앱에서 내 빌드 프로세스 (NANT 및 사용자 정의 작업의 혼합)는 MSBuild로 호출하기 전에 현재 빌드 번호로 [AssemblyStionAttribute] AssemblyInfo.cs를 자동으로 업데이트하여 버전 번호의 빌드 번호로 스탬핑됩니다.

나는 지금 나의 첫 번째 Biztalk 프로젝트를 진행하고 있으며 Biztalk 어셈블리의 버전 번호와 똑같은 일을하고 싶지만 문제가 발생합니다!

우선 Aseembly 버전 번호는 Btproj 파일에 저장되어 있으므로 인터넷 검색을 수행하고 www.codeplex.com/biztalk를 찾았지만 내 문제에 대한 답변처럼 보였지만 더 깊은 문제가 있습니다!

스키마에 대한 프로젝트와 파이프 라인에 대한 프로젝트가 있고 파이프 라인 프로젝트는 플랫 파일 디스/어셈블러가 있으므로 Schemas 프로젝트를 참조합니다. Visual Studio 내에서조차도 업데이트하면 파이프 라인 구성 요소 참조를 스키마에 대한 언급하지 않기 때문에 문제는 문제가 발생합니다.

따라서 VS IDE의 모든 버전 번호를 1.0.0.0에서 1.1.0.0으로 수동으로 업데이트하면 파이프 라인 구성 요소 Flat File DIS/어셈블러가 여전히 기존 1.0.0.0 버전의 스키마를 참조함에 따라 빌드가 실패합니다! 자동으로 업데이트되지 않습니다!

이것은 속성 페이지에서 Biztalk 프로젝트의 버전 번호를 업데이트 한 다음 프로젝트를 구축하고 참조하는 모든 파이프 라인 구성 요소의 속성에서 참조를 수동으로 업데이트하는 수동 프로세스입니까?

이것은 내 빌드 프로세스를 제어 할 수 없다는 것을 의미합니다. 버전 번호의 빌드 번호 부분을 제어 할 수 없습니다!

아니면 Biztalk 어셈블리의 버전 번호를 관리하는 더 나은 방법이 있습니까?

도움이 되었습니까?

해결책

실망해서 미안하지만 포기해야 할 도로를 정확히 아래로 내려 왔습니다. 나는 그것을 달성하는 것이 가능할 수 있지만, 바인딩 파일과 다른 XML 파일 모두에 많은 변경이 필요할 것입니다 (당신이 언급했듯이 서비스를 게시 한 경우 더 많은 것들 등).

빌드 단계 (MSBuild 단계 또는 다른 빌드 프레임 워크에서 유사한)에서 필요한 모든 변경 사항을 래핑하는 것이 가능할 수 있습니다. 유용한!

다른 팁

개발자- :)

우리는 비슷한 문제를 겪었고 결국 모든 프로젝트에서 버전 번호를 변경하는 작은 유틸리티를 개발했습니다. 즉, *.csproj (assemblyinfo.cs), *.btproj. 이 외에도 새 버전의 Schemas로 *.BTP 파일을 열고 수정합니다. 간단히 말해서, 당신이해야 할 일은 vs.net 도구 메뉴 에서이 유틸리티를 구성하고 실행하는 것입니다.

.NET Lanagauge에서 그러한 유틸리티를 개발하는 것은 그리 어렵지 않다고 생각합니다.

경고 : 원래와 동일한 인코딩으로 업데이트 후 파일을 저장하는 것을 잊지 마십시오.

건배!

그럴 수 있다고 생각했다. 아마도 Biztalk 2009 프로젝트는 버전 번호를 변경할 때 참조를 업데이트 할 때 더 잘 재생 될 것입니다.

나는 수동으로 통과하고 자동화하기 시작했고,해야 할 일을 깨달았을 때, 나는 그것을 작동시키기 위해 얼마나 많은 장소를 수정 해야하는지 깨달았을 때 BIIIG 단계를 뒤로 물러 섰다. 실행 취소 결제에 감사드립니다.

내 프로젝트에 포함 된 표준 C# 클래스 라이브러리가 포함되어 있으며 (다양한 도우미 기능) 빌드 프로세스 중에 버전 번호를 업데이트 할 수 있으므로 기본적으로 해당 어셈블리를 사용하여 전체 응용 프로그램을 버전으로 사용합니다. 누군가가 어떤 환경에 어떤 버전이 있는지 알고 싶다면 해당 어셈블리의 버전 번호를 확인하십시오.

이상적이지는 않지만 작동합니다.

우리는 프로젝트에서 이것을 성공적으로 수행했습니다. 도구의 개발자가 세부 정보를 게시 할 수 있는지 확인할 것입니다 ...

이 문제는 파일 참조 (일명 스키마)로 종속 구성 요소의 최신 버전에 통합 빌드를 수행 할 때 발생합니다.

어셈블리 버전을 업그레이드하는 것은 항상 수동으로 수행되어야합니다. 그러면 항상 조립 버전의 변경 사항을 담당하는 방식으로 수행해야합니다.

BuildBreaks 문제를 해결하기위한 가능한 솔루션은 최신 버전이 아닌 종속 구성 요소 빌드의 특정 버전에 대한 참조를 제출하고 최신 구성 요소 빌드를 가져 오기 위해 내장 드라이브와 사본 스크립트를 사용하는 것입니다.

예를 들어:

Schemaa, 어셈블리 버전 1.0.0.0 Pipelinea (예 : Pipelinecomponent xmlValidator 포함), 어셈블리 버전 1.0.0.0

Pipelinea는 다음과 같이 스키마의 스키마의 버전 1.0.0.0에 대한 보체 드라이브 (예 : r 드라이브)에 대한 파일 참조가 있습니다.

r : schemaa 1.0.0.0 schemaa.dll.

카피 스크립트는 Schemaa의 빌드 아웃이 로컬로 R 드라이브에 대한 빌드 아웃을 복사합니다.

스키마 A 버전 1.1.0.0에 대한 업데이트는 여전히 버전 1.0.0.0을 사용하고 1.1.0.0 버전의 스키마를 사용할 수 있기 때문에 문제가 없습니다. 업그레이드하려면 사본 스크립트를 변경하고 파일 참조를 r : schemaa 1.1.0.0 schemaa.dll로 바꿔야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top