0

これについて Web で多くの情報を見てきましたが、ビルド時に指定した特定のフォルダーに Web サービスまたは Web サイトを単に公開するという問題に対処しているように見える明確で具体的なものはありません。

私はNantとNant Contribを使用しています:

 <target name="build" description="builds the service">

        <msbuild project="${buildoutput}\${service.source}\wsMyService.sln" >           
            <property name="Configuration" value="Release" />           
            <property name="PublishDir" value="${buildoutput}\${service.target}\" />            
            <property name="Targets" value="Publish" />
        </msbuild>

    </target>

これがどのように行われることになっているのか、誰でも教えてもらえますか。プロジェクトのプロパティ ページで出力フォルダーを変更できますが、ビルド時にパスを指定できるように、これを Nant から構成できるようにしたいと考えています。

4

2 に答える 2

0

これは、msbuild を使用して Web サービスを構築するために現在使用しているものです。

<Target Name="BuildWebService">
    <ConvertToAbsolutePath Paths="$(Root)">
      <Output TaskParameter="AbsolutePaths" PropertyName="Root" />
    </ConvertToAbsolutePath>

    <ItemGroup>
      <WebServices Include="$(Root)\services\Solutions\**\*.host.csproj"/>
    </ItemGroup>

  <MSBuild Projects="%(WebServices.FullPath)"
          Targets="Build"
          Properties="WebProjectOutputDir=$(Root)\services\build\WebService\%(RecursiveDir);OutDir=$(Root)\services\build\WebService\%(RecursiveDir)\bin\" />
  </Target>

ナントに簡単に翻訳できることを願っています。

于 2013-02-27T09:37:40.617 に答える
0

コマンド ラインから msbuild を呼び出す場合、文字列を渡して msbuild プロパティに割り当てることができます。NAnt については何も知らないので、msbuild.exe を呼び出す必要があると思います。したがって、次のように msbuild プロパティをオーバーライドできます。

MsBuild /property:buildoutput=C:\arbitrary\folder\bin\

コマンド ラインから指定されたこれらのプロパティは、ビルド ファイルで指定したものをオーバーライドします。

于 2013-02-26T14:51:37.007 に答える