Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSBUILD动态创建配置XML Dotfuscator_Msbuild_Obfuscation_Msbuild Task_Msbuildcommunitytasks_Dotfuscator - Fatal编程技术网

MSBUILD动态创建配置XML Dotfuscator

MSBUILD动态创建配置XML Dotfuscator,msbuild,obfuscation,msbuild-task,msbuildcommunitytasks,dotfuscator,Msbuild,Obfuscation,Msbuild Task,Msbuildcommunitytasks,Dotfuscator,我试图混淆目录中的一堆文件,每次构建都会生成越来越多的文件。我想知道是否有一种方法可以使用MSBUILD任务动态创建Dotfuscator配置xml文件,该任务将在每次向目录添加新文件时生成xml文件?这可能是使用。这种类型的Dotfuscator输入捕获目录中的所有程序集,而不是表示单个程序集(.exe或.dll)。当目录内容更改时,Dotfuscator的构建将自动拾取任何新程序集 要使用目录输入创建Dotfuscator配置文件,请打开GUI并像通常那样添加输入(方向和),但不要从浏览菜单

我试图混淆目录中的一堆文件,每次构建都会生成越来越多的文件。我想知道是否有一种方法可以使用MSBUILD任务动态创建Dotfuscator配置xml文件,该任务将在每次向目录添加新文件时生成xml文件?

这可能是使用。这种类型的Dotfuscator输入捕获目录中的所有程序集,而不是表示单个程序集(
.exe
.dll
)。当目录内容更改时,Dotfuscator的构建将自动拾取任何新程序集

要使用目录输入创建Dotfuscator配置文件,请打开GUI并像通常那样添加输入(方向和),但不要从浏览菜单中选择文件。。。对话框中,只需导航到目录并单击“打开”,而“文件名”仍列为“文件夹选择”。然后,保存您的配置

从现在起,无论何时运行Dotfuscator(无论是从独立GUI、命令行、Visual Studio集成还是MSBuild任务),目录中的所有程序集都将作为输入进行处理

注意:如果查看配置文件本身,您可能会惊讶于它仍然会列出各个程序集:

<input>
  <loadpaths />
  <asmlist>
    <package refid="19e1b0c5-7221-476f-af4b-bafef68edc95">
      <file dir="C:\code\BasicTestApp\BasicTestApp\bin" name="Debug" />
      <asmlist>
        <inputassembly refid="a6da5d8d-c181-4103-840d-d8cc7c85937a">
          <option>honoroas</option>
          <option>stripoa</option>
          <option>transformxaml</option>
          <file dir="" name="BasicTestApp.exe" />
        </inputassembly>
        <inputassembly refid="df84dad0-fbe8-49ab-b8c8-9fb59e706785">
          <option>honoroas</option>
          <option>stripoa</option>
          <option>library</option>
          <option>transformxaml</option>
          <file dir="" name="ClassLibrary.dll" />
        </inputassembly>
      </asmlist>
    </package>
  </asmlist>
</input>

最新的Dotfuscator版本4.41.1具有最新标志 真的
如果文件丢失,这将生成Dotfuscator配置文件。此外,您还可以将其添加到csproj中,如最新的入门指南所述

感谢您的回复。现在它带来了另一个问题,所以我不想混淆文件夹中的所有dll,因为我正在使用的一些.dll是第三方的,它们已经混淆了。所以我感兴趣的一个可以复制到另一个位置,使用Dotfuscator混淆它们,然后在创建包之前将它们复制回来?《用户指南》中的任何地方是否有针对dotfuscator目录支持的任何示例msbuild任务?@varun7447我在回答中添加了一条注释,我认为这将回答您评论中的第一个问题。我建议使用它描述的方法,而不是复制一些DLL,因为这样您就必须配置一个自定义程序集加载路径(模糊化的DLL将引用已排除的DLL,它们不再位于同一目录中)。至于关于MSBuild支持的第二个问题,本例中没有具体的示例,但是由于包是配置文件的一个功能,您可以将配置文件的路径传递给Dotfuscate任务的ConfigPath属性。这非常有用。谢谢你的及时回复。
<option>artifact</option>