首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fody/Costura和Obfuscar在Visual 2017中的使用

Fody/Costura和Obfuscar在Visual 2017中的使用
EN

Stack Overflow用户
提问于 2018-02-18 15:25:37
回答 2查看 3K关注 0票数 11

我想问一下,是否可以使用福迪-科斯特拉 (将依赖项嵌入到可执行文件和奥布斯卡尔中)进行混淆。

目前,我还在挣扎,因为Costura的Visual 2017中的msbuild目标在模糊库之前执行(然后抱怨缺少依赖文件)。

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

有没有办法将这两者结合起来,也许可以通过指定目标的顺序来实现?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-06 03:58:58

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

代码语言:javascript
复制
<?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包有关。

票数 2
EN

Stack Overflow用户

发布于 2018-03-14 13:45:23

我能够重现这个错误。我使用了asherber的答案,但一旦我更改了构建发布,它就不再起作用了。

(“无法解决依赖: MahApps.Metro")

为了使它即使在发行版上也能成功构建,我必须将引用的MahApps.Metro.dll复制到发布文件夹中。

如果从NuGet安装,则可以在项目文件夹中的packages文件夹中找到.dll。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48853290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档