1

MSBuild で実行したいパワー シェル スクリプトがあります。スクリプト自体は機能し、コマンド ラインでパス変数を渡すことができます。ただし、MSbuild を介して変数を渡そうとすると、パスにエラーが発生します。

 <?xml version="1.0" encoding="utf-8" ?>
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="C:\Program Files (x86)\MSBuild\PowershellTask\Powershell.targets"/>

   <Target Name="Minify">
   <PropertyGroup>
       <FilePath>\Scripts</FilePath>
       <OutputPath>\MinifiedJS</OutputPath>
   </PropertyGroup>
   <Exec Command= "powershell.exe -command &quot;&amp;.\MinifyCSS.ps1&apos;$(FilePath)&apos;&apos;$(OutputPath)&apos;}&quot;" />

パスを MSBuild に渡す方法。/Scripts および /MinifiedJS で上記のコード エラーが発生します。エラーは次のとおりです。

powershell.exe -command "&{.\MinifyCSS.ps1'/Scripts''/MinifiedJS'}" '.\MinifyCSS.ps1/Scripts'/MinifiedJS' という用語は、コマンドレット、関数、スクリプトの名前として認識されませんファイル、または操作可能なプログラム。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。行:1 文字:41 + &{.\MinifyCSS.ps1'/Scripts''/MinifiedJS' <<<< } + CategoryInfo : ObjectNotFound: (.\MinifyCSS.ps1/Scripts'/MinifiedJS:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

また、それらを引用符で囲み、.\ を使用してみました。

助言がありますか?

4

1 に答える 1

3

試す:

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="C:\Program Files (x86)\MSBuild\PowershellTask\Powershell.targets"/>
<Target Name="Minify">
<PropertyGroup>
<FilePath>\Scripts</FilePath>
<OutputPath>\MinifiedJS</OutputPath>
</PropertyGroup>
<Exec Command="powershell.exe .\MinifyCSS.ps1 Scripts MinifiedJS" />
</Target>
</Project>
于 2013-01-28T18:13:47.290 に答える