2014-05-16 2 views
0

WMAppManifest 버전을 구하고 처리하는 적절한 방법이 Windows Phone 8 응용 프로그램에 무엇이 있는지 궁금합니다.WMAppManifest 및 저장 응용 프로그램

기본적으로 내 경우는 다음과 같습니다. 사용자가 최신 버전이 아닌 경우 사용자가 앱을 사용할 수 없도록하는 체크를 구현하고 싶습니다. 이 경우 사용자의 버전 번호를 확인하고 싶습니다. 현재 내가 이런 식으로 할 : 나는 버전 번호를 저장하는 매니페스트를 업로드

그러나
 var docRoot = XDocument.Load("WMAppManifest.xml").Root; 
     string versionString = docRoot.Element("App").Attribute("Version").Value; 
     string clientString = docRoot.Element("App").Attribute("Title").Value; 

는 XAP 업그레이드에 요청합니다. 그래서 내 질문은 어떻게 버전을 기본 및/또는 저장소를 자동으로 WMAppManifest 업데이트 할 패키지를 업로드 할 때, 내 응용 프로그램 매니페스트 (XDocument.Load 검색 한) 버전을 포함하도록 가정 할 수 있습니다. 가게에 업로드 할 때 입력 했습니까?

답변

2

프로젝트 버전은 AssemblyInfo.cs에 저장됩니다. 이것은
: [assembly: AssemblyVersion("1.0.0.0")]

당신은 반사를 통해 조립 정보를 얻을 수 있습니다 : System.Reflection.Assembly.GetExecutingAssembly()합니다 (FullName 속성에 대한 검색).

그래서 WMAppManifest를 쿼리 할 필요가 없습니다. WMAppManifest와 AssemblyInfo의 버전 번호는 항상 동기화되어 있어야합니다!

대시 보드에 입력해야하는 버전 번호가 저장소에 사용되며 매니페스트에서 자동으로 가져 오지 않습니다.

요약하면 버전 번호를 유지해야하는 곳이 3 곳 있습니다. 하지만 항상 AssemblyInfo에서 쿼리해야합니다!

+0

감사합니다. 그것은 물건을 깨끗하게했다. 나는 WMAppManifest를 직접 사용하여 iffy라고 느꼈다. : P – Muhwu

+0

흠,이 정보의 공식적인 출처가 있습니까? :) 그래서 기본적으로 1) AssemblyInfo.cs와 WMAppManifest.xml을 1.0.0.0으로 남겨 둘 수 있습니다. 2) XAP를 Windows 저장소에 업로드하고 버전 3을 입력합니다.) System.Reflection.Assembly를 사용하여 버전 번호를 쿼리하면 Windows Store 버전 프롬프트에 입력 한 내용이 반환됩니다. 이 경우 WMAppManifest 반환 쿼리하는 것이 궁금해? – noxo

+0

그게 내가이 상황을 경험 한 방식 일뿐입니다.그리고 아니요, 스토어 버전을 반환하지 않지만 'AssemblyInfo.cs'에 입력 한 버전 번호를 반환합니다. –

0

MSDN의 Windows Phone 앱 버전 관리에 대한 지침이 없으며 AssemblyInfo.cs 또는 WMAppmanifest.xml 파일을 업데이트하지 않아도됩니다. WMAppmanifest.xml MSDN 들어

은 날짜 http://msdn.microsoft.com/library/windows/apps/ff769509(v=vs.105).aspx

내가있는 AssemblyInfo.cs가의 옛의 비트 DLL 라이브러리 버전, 그리고 lib 디렉토리의 올바른 버전에 대한 참조를 유지에서 남아 생각까지 기능 등을 가진 상태.

나를 위해 WMAppmanifest.xml은 다른 정보 (기능 등) 사이에 버전 번호를 배치하는 "자연스러운 장소"(Android/IOS 버전에서도 매니페스트/개별 텍스트 파일에도 지정 됨)를 느낍니다. 또한 Windows 8/8.1 Store Apps에서 manifest 파일 (package.appxmanifest)을 사용합니다.

Windows 8 Apps에서는 Windows.ApplicationModel.Package.Current 클래스를 통해 매니페스트 파일에 액세스 할 수 있습니다.이 클래스는 Microsoft가 매니페스트 파일에 버전 번호를 배치하는 것에 대해 더 많은 생각을했음을 나타냅니다.

Windows Phone Store는 이러한 파일을 처리하지 않으므로 실제로 어디에 보관해야하는지는 중요하지 않습니다.

관련 문제