c# - 在构建后步骤中调用 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 而不是复制的可执行文件是因为现在我没有自动更新。现在,当一个新版本出来时,我将不得不手动复制/粘贴它。我想我现在必须将它添加到自述文件中,直到出现更好的解决方案。
解决方案
推荐阅读
- https - htaccess - 使用查询重定向到 https
- angular - 如何解决此错误“错误类型错误:无法删除 [object Array] 的属性 '0'”
- java - 在回收站视图 Android 中禁用滚动后移至下一项
- flutter - SliverList SliverChildBuilderDelegate 中的 ListView.builder 在首次加载时不呈现图像
- c# - 将字符串从 E 表示法转换为“百万、十亿、万亿等)
- reactjs - antd design - 生产构建问题
- java - 如何在 Spring Boot 中使用 WebClient 使用二进制和字符串响应?
- flutter - 如何使“compute()”函数在隔离过程中向sqlite插入数据?
- angular - 我想在谷歌地图中添加路线图
- javascript - 尝试使用 html2canvas 拍摄图像来创建一个可拖动的 div 缩放...缩放有问题