コマンド ラインで msbuild 内からスマート デバイス キャブ プロジェクトをビルドするために、継続的インテグレーションを取得しようとしています。私が見つけたものはすべて、Visual Studio 内からプロジェクトをビルドするときに作成された inf ファイル (cabwiz を使用) を使用するように指示されています。.vddproj ファイルを使用して inf を作成し、cabwiz.exe で使用できるようにする方法はありますか?
3 に答える
最善の策は、msbuild タスクから devenv.exe (または devenv.com) を実行するか、Visual Studio が生成する INF を盗み、それを使用して msbuild タスクから cabwiz.exe を実行することです。
MVP ディスカッション: http://social.microsoft.com/Forums/en-US/csharpide/thread/a3caae81-fd79-45a9-ac38-f471e30e5b2a
CabWiz.exe: http://msdn.microsoft.com/en-us/library/aa924359.aspx
INF リファレンス: http://msdn.microsoft.com/en-us/library/aa924371.aspx
例: http://blog.enterprisemobile.com/2008/07/automating-build-versioning-and-publishing-smart-device-projects-with-team-foundation-build/ http://blog.opennetcf.com/ ctacke/2008/09/18/AutomatingCABFileGenerationWithMSBUILD.aspx http://guystarbuck.blogspot.com/2006/08/automate-build-of-windows-moble-cab.html
「スマート デバイス CAB プロジェクト」をソリューションに追加してみてはどうでしょうか (Visual Studio 2005 および 2008 で利用可能)。これらの種類のプロジェクトは、ソリューション内の他のプロジェクトの出力から .inf ファイルを構築し、「cabwiz.exe」を生成して最終的な cab を生成します。
私は個人的に MSBuild の代わりに NAnt を使用しており、inf ファイルを手動で編集することを好みます (それほど頻繁には変更されません) が、MSBuild を使用するソリューションには CAB プロジェクトが適しているようです。
追伸: cab でレジストリ dword を -1 (0xffffffff) に設定する必要がある場合は注意してください: cabwiz には厄介なバグがあることが知られています。
PS2: この他の投稿にも注意してください。