首页 > 解决方案 > 在构建后步骤中调用 Obfuscar

问题描述

我正在开发一个 C# WPF 项目,我需要一些混淆。我发现 Obfuscar 看起来很有前途,使用 nuget 和构建后事件似乎是一个可靠的解决方案。所以我已经安装了 nuget 包,并添加并调整了 obfuscar.xml 文件,使其能够正常工作。

但是,构建后命令是指$(Obfuscar)无法识别的宏。现在,当我构建项目时,出现以下构建错误:

命令“obfuscar.xml”以代码 9009 退出。

请注意第一个引号后的空格:$(Obfuscar)显然无法以某种方式解决。我尝试了文档和其他网站上描述的所有步骤,包括将宏放在引号内,但我无法让它工作。

- 编辑 -

我所做的: - 安装了 Obfuscar nuget - 添加了带有基本配置的 obfuscar.xml 文件 - 添加了构建后事件 - 尝试构建

我在构建后事件方面所做的尝试:

$(Obfuscar) obfuscar.xml

命令“obfuscar.xml”以代码 9009 退出。

"$(Obfuscar)" obfuscar.xml

命令“”“obfuscar.xml”以代码 9009 退出。

我尝试构建并运行示例项目,并且效果很好。我已将示例项目中的构建后事件(不是 xml 文件)复制粘贴到我的项目中,但这只是给出了相同的结果。

我也不明白 Visual Studio 如何可能知道什么$(Obfuscar)意思或如何将其解析为 Obfuscar 可执行文件的路径。我是否需要在某个地方进行某种配置,还是某种特殊的黑魔法应该可以工作?

-- 编辑 2 --

我现在可以通过将Obfuscar可执行文件从 nuget 文件夹复制到我的 PATH(现在为 C:\Windows)中的文件夹作为“obfuscar.exe”并简单地使用 post-build command 来让它工作obfuscar obfuscar.xml。我之所以这么说,是因为实际上使用 nuget 而不是复制的可执行文件是因为现在我没有自动更新。现在,当一个新版本出来时,我将不得不手动复制/粘贴它。我想我现在必须将它添加到自述文件中,直到出现更好的解决方案。

标签: c#.netwpfobfuscationobfuscar

解决方案


推荐阅读