繁体   English   中英

在Visual Studio 2017中使用Fody / Costura和Obfuscar

[英]Usage of Fody/Costura and Obfuscar in Visual Studio 2017

我想问一下是否可以使用Fody- Costura ,它将依赖关系嵌入到可执行文件和Obfuscar中 ,用于混淆。

目前我正在努力,因为在Visual Studio 2017中Costura的msbuild目标在obfuscar之前执行(然后抱怨缺少依赖文件)。

由于obfuscar本身不提供目标,我使用的是MSBuild.Obfuscar

有没有办法将这两者结合起来,可能是通过指定目标的顺序?

我做了一个快速的框架控制台应用程序项目,我添加了Costura,MSBuild.Obfuscar和NLog。 为了让Obfuscar工作,我所要做的就是编辑Obfuscar.xml文件以包含实际的程序集名称:

<?xml version="1.0" encoding="utf-8"?>
<Obfuscator>
  <Var name="InPath" value="bin\Release" />
  <Var name="OutPath" value="$(InPath)\obfuscated" />
  <Var name="HidePrivateApi" value="true" />
  <!-- was: file="$(InPath)\"  -->
  <Module file="$(InPath)\ConsoleApp1.exe" />
</Obfuscator>

这对我来说很好。 生成的程序集对我的代码进行了模糊处理,并将NLog作为资源包含在内。 如果您看到不同的结果,那么可能与您的解决方案包含的特定其他NuGet包有关。

我能够重现错误。 我使用了asherber的答案,但是一旦我将构建更改为发布,它就不再起作用了。
(“无法解析依赖:MahApps.Metro”)

为了使它在发布时成功构建,我不得不将引用的MahApps.Metro.dll复制到Release文件夹中。
如果从NuGet安装,则可以在项目文件夹的packages文件夹中找到.dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM