有没有办法在构建过程中动态添加嵌入式资源?我目前正在使用 Ajax-Minifier 将两个文件缩减为一个。结果效果很好。但是,当代码在发布模式下运行时,我需要将此文件作为嵌入式资源包含在内(当前由 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>
但是,仍然没有运气。