我创建了一个 WPF 应用程序,并使用外部工具混淆了主 .exe。
现在我无法将其发布为 ClickOnce 应用程序,因为 Visual Studio 不知何故再次重新编译主可执行文件。
我停用了“解决方案”→“配置管理器”下的构建复选框,但它不起作用:当我将应用程序发布到http://localhost/MyApplication时,可执行文件不断被重建。
是否可以部署我的 ClickOnce 应用程序而不重新编译当前项目?
如果不行,是否有免费工具可以生成具有特定所需文件的 ClickOnce 应用程序?
最佳答案
免责声明:我为 Dotfuscator 的制造商 PreEmptive Solutions 工作。
Jared 解决方案的问题是,后生成任务在生成过程中执行得太晚,因为 ClickOnce 生成步骤在后生成触发之前很久就创建了 list (包括程序集签名,其中混淆发生了变化)。您可以破解 MSBuild 文件(您的 .csproj/.vbproj)文件以在 AfterCompile 步骤中调用混淆任务,并让混淆器将混淆后的程序集转储到构建 bin 目录中,但这很痛苦。
第二种选择是使用 Mage/MageUI 工具重新创建 ClickOnce list ,方法是发布应用程序、混淆程序集、使用混淆版本覆盖已发布的程序集,然后运行 Mage 重新创建 list ,如图 here 所示。 。 Mage 实用程序的文档为 here .
第三种选择是,如果您的混淆器是 Dotfuscator Professional 版本 4.6.1010 或更高版本。 Dotfuscator 能够直接读取 ClickOnce 部署 list 作为输入、混淆程序集并输出混淆的程序集和完全更新的 list 文件。请参阅here为起点。
关于visual-studio - 是否可以混淆在 Visual Studio 2008 中创建的 ClickOnce 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2178476/