MSBuildの新機能です。 robots.txt
のフォルダにconfiguration
を使用して、ファイルの1つをプロジェクトのルートフォルダにコピーします。これは期待どおりに動作しています。しかし、私がDebug
を実行したい場合、ファイルを見つけることができません.b/c明らかに私はデバッグには必要ありません。代わりに、このダミーファイルを追加するように、configuration
が1であるか、他には記載されている場合、私は、ビルドプロセスから除外したい:あなたはその上で見ることができますMSBuildプロセスで(2)「条件」を持つ可能性があります
<Target Name="AfterBuild">
<Copy SourceFiles="Web.temp.config" DestinationFiles="Web.config" OverwriteReadOnlyFiles="True" />
<Delete Files="Web.temp.config" />
<Copy SourceFiles="$(ProjectDir)Content\robots\robots.$(Configuration).txt" Condition="$(Configuration)==Staging" DestinationFiles="robots.txt" OverwriteReadOnlyFiles="True" />
<Copy SourceFiles="$(ProjectDir)Content\robots\robots.$(Configuration).txt" Condition="$(Configuration)==Production" DestinationFiles="robots.txt" OverwriteReadOnlyFiles="True" />
</Target>
私は(2)個別の<Copy>
の要素を持っています同じことをしています(robots.txt
ファイルに関する)。これで "OR"句を使用できますか?そしてもしそうなら、どうですか?これを行うより良い方法がありますか?
理想のアプローチ:
<Copy SourceFiles="$(ProjectDir)Content\robots\robots.$(Configuration).txt" Condition="$(Configuration)==Production || $(Configuration)==Staging" DestinationFiles="robots.txt" OverwriteReadOnlyFiles="True" />
ニース私はちょうど '!='の代わりに 'Or'を使用しました。また、一重引用符も必要ではありませんでした。 Apprec! –
ロブ、私の疑惑は、あなたがもう一度$(Foo)をテストするときに一重引用符が必要になることです。おそらく空である可能性があります。 (まあ、それはちょうどバッチファイル腸の感覚、多分MSBUILDはスマートです:-) –