2

ビルド プロセス中に埋め込みリソースを動的に追加する方法はありますか? 現在、Ajax-Minifier を使用して 2 つのファイルを 1 つに減らしています。結果はうまくいきます。ただし、コードがリリース モードで実行されている場合は、このファイルを埋め込みリソースとして含める必要があります (現在、if(!DEBUG) のプリプロセッサ ディレクティブによって切り替えられます)。

これは、MSBUILD で使用しているターゲット コマンドの単純なバージョンです。

<Target Name="TestMinifiy" Condition=" '$(ConfigurationName)' == 'Release' ">
    <ItemGroup>
      <MyScript Include="..\Test1.js" />
      <MyScript Include="..\Test2.js" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(MyScript)" JsCombinedFileName="$(IntermediateOutputPath)\Final.js" />
</Target>

基本的に、Final.js を埋め込みリソースとしてインクルードしたいと思います。そうすれば、コード内で参照できます。

C# 側から、これは私がやろうとしていることです:

#if (!DEBUG)
[assembly: WebResource("Final.js", "text/javascript")]
#endif

ヘルプやアイデアをいただければ幸いです。

編集:

JsCombinedFileName を $(IntermediateOutputPath)\Final.js に変更しました。これでファイルが作成されます。次に、このファイルを埋め込む別のターゲットを作成しました。

   <Target Name="EmbedResource" Condition=" '$(ConfigurationName)' == 'Release' ">
        <Message Text="Copying into Embedded..." Importance="high" />
        <ItemGroup>
          <EmbeddedResource Include="$(IntermediateOutputPath)\Final.js" >
            <LogicalName>
              Final.js
            </LogicalName>
          </EmbeddedResource>
        </ItemGroup>
      </Target>

しかし、まだ運がありません。

4

1 に答える 1