私は、Xamarinモバイルアプリケーションのビルド前の呼び出しとして実行するPowershellスクリプトを用意しています。スクリプトはパッケージ名をビルドタイプに合わせて変更します。デバッグ、リリース。Powershell Pre-Buildスクリプトがmsbuildから失敗しました
アプリのさまざまな「味」を作成できるように、アプリの設定ファイルを要求されたビルドタイプに一致するものに置き換えるバッチファイルを作成しました。
私はVisual Studio内からビルドすると、期待どおりにPowerShellスクリプトが実行され、期待したものが変更されます。ただし、バッチファイルを実行すると、私が表示されるエラーメッセージを取得するとき:ここ
は、これはコードプロジェクトをビルドするためのバッチファイルを書き込んで、私の最初の試みであった、バッチファイルの内容です:
@ECHO OFF
set buildVer=%1
set path=XamarinTestApp\XamarinTestApp
set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
echo %buildVer%
IF "%buildVer%"=="Release" (
goto :releaseBuild)
IF "%buildVer%"=="Test" (
goto :testBuild)
IF "%buildVer%"=="Dev" (
goto :devBuild)
:releaseBuild
set buildType=Release
copy /-y %path%\app.Release.config %path%\app.Config
goto :builder
:testBuild
set buildType=Release
copy /-y %path%\app.Test.config %path%\app.Config
goto :builder
:devBuild
set buildType=Debug
copy /-y %path%\app.Debug.config %path%\app.Config
goto :builder
:builder
call %msBuildDir%\msbuild.exe
C:\Projects\%path%\XamarinTestApp.Droid\XamarinTestApp.Droid.csproj /property:Configuration=%buildType% /target:SignAndroidPackage /verbosity:diag
私は、私が得ているエラーメッセージか、設定可能な情報を自分のアプリケーションに取得する方法に関するアドバイスを探しています。
ありがとうございました。
によって設定された変数の名前のリストの一部を見ることが
を設定するが、私はgetコマンドを使用します同じエラーメッセージ。 – hydraneth
悲しいことに、私はパワーシェルの専門家ではありません。 Googleを使って見つかったいくつかの参考文献から、 'powershell exit 9009'を検索すると、これらの記事は" file not found "を指しているようです。http://stackoverflow.com/questions/1351830/what-does-exited-with-code-9009 -eman-during-this-build http://stackoverflow.com/questions/22730003/msb3073-command-exited-with-code-9009。どのファイルですか?いい考えはしませんが、 ''& 'c:project ...'はポインタのようです。 powershellがその文字列全体をファイル名として '' Release''まで解釈することをお勧めします。 – Magoo
私は問題を解決し、ビルド文字列から "and"を削除し、ポータブルとアンドロイドの両方のプロジェクトをmsbuildバージョン14を使用するように設定しました.1つは12、もう1つは4でした。ポインタありがとう。 – hydraneth