Powershell Pre-Build脚本从msbuild失败

时间:2017-02-23 15:29:06

标签: powershell batch-file msbuild

我有一个Powershell脚本,作为Xamarin移动应用程序的预构建调用执行。该脚本更改包名称以匹配构建类型,例如调试,发布。

启用不同的口味"在要创建的应用程序中,我编写了一个批处理文件来替换app的配置文件,其中一个匹配所请求的构建类型。

当我在Visual Studio中构建时,powershell脚本按照我的预期运行并更改我的预期。但是,当批处理文件运行时,出现错误消息:

enter image description here

以下是批处理文件的内容,这是我第一次尝试编写批处理文件来构建代码项目:

@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

我正在寻找有关我收到的错误消息的建议,或者有关如何将可配置信息添加到我的应用中的建议。

感谢。

1 个答案:

答案 0 :(得分:0)

不要将path用作用户变量。它由系统预定义以定位可执行文件。

将该名称更改为mypath - 除path以外的其他任何内容。

从提示符

,使用命令

查看系统设置的变量名称的部分列表