Dotfuscator在Visual Studio中构建时说“正在期待以下之一:”>

问题描述 投票:0回答:1
我在Visual Studio中有一个包含Dotfuscator项目的解决方案。完全相同的代码库可以在另一台计算机(旧笔记本电脑)上正确构建和混淆,而在新设置的笔记本电脑上则无法正确混淆。当然,我们让我们的支持合同到期,因为这是在旧项目中使用的。

构建期间的输出是:

8>Compiling Project MyAppObfuscation ... 8>Dotfuscator Professional Version 4.41.1.9417-95d9eec7a 8>Copyright 2002-2019 PreEmptive Solutions, LLC All Rights Reserved. 8>Use of this software implies acceptance of accompanying license agreement. 8>Build machine license. This software may be used on binaries for general release. 8> 8>Your protection is out of date. Learn more at https://www.preemptive.com/keep-your-protection-up-to-date?product=dotfuscator&sku=pro&version=4.41.1.9417. Upgrade at https://www.preemptive.com/products/dotfuscator/downloads. 8> 8>Loading Assemblies... ---several of these lines--- 8>Running ...\ildasm.exe /OUT=...\MyApp.exe.il /TEXT /NOBAR /RAWEH /QUOTEALLNAMES /UTF8 /LINENUM /FORWARD "...\MyApp.exe" 8> --- immediately followed by: --- 8>Encountered - at line 18065, column 26. 8>Was expecting one of: 8> <FLOAT64> ... 8> "float64" ... 8> "float32" ... 8> <INT> ... 8> "(" ... 8> 8>Build Error. 8>MyAppObfuscation build failed.

有人遇到过这个吗?我倾向于相信这是新机器上的东西,但是如果有人对诊断它有提示,我将不胜感激。

谢谢!

编辑:只是想添加相同的错误发生在Visual Studio和Dotfuscator专业配置编辑器中。

编辑2:经过进一步检查,ildasm的/ OUT参数中列出的文件夹不包含最后一个ildasm命令的.il文件。 .exe DO之前的程序集的输出文件夹具有.il文件。因此,我认为ildasm可能无法在.exe上运行,但是我可以将命令复制到命令提示符中,并且它可以正常运行并按预期创建.il文件。因此,为什么从Visual Studio中运行ildasm不能正常运行,而只能在命令行中运行-仅适用于项目中的一个程序集/ exe?

这个谜越来越大...

我在Visual Studio中有一个包含Dotfuscator项目的解决方案。完全相同的代码库可以在另一台计算机(旧笔记本电脑)上正确构建和混淆,而在新设置的笔记本电脑上则无法正确混淆。 ...

msbuild visual-studio-2019 obfuscation dotfuscator
1个回答
0
投票
解决了!我在新旧计算机上都打开了Visual Studio Installer,以比较旧版本和新版本中安装了哪些功能。最值得注意的是,“单个组件”选项卡上缺少的功能之一是较旧的.NET Framework SDK(在我的情况下为4.6.1)和较旧的Windows 10 SDK(在我的情况下为10.0.17763.0)。

我希望其他人对此有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.