【发布时间】:2020-01-03 17:28:31
【问题描述】:
我尝试根据本手册将 Dotfuscator 集成到我的 Xamarin 项目中:https://www.preemptive.com/dotfuscator/ce/docs/help/getting_started_xamarin.html
我执行了步骤:Import the Targets File 和 Set MSBuild Properties,我跳过了Add Dotfuscator Config File to Project,因为我还没有配置。然后我启动构建并收到此错误:
There are no assemblies to process. Stopping the build...
看起来 dotfuscator 需要 .dll 程序集,但我没有这些,因为构建尚未完成,因为 dotfuscator 正在停止。
UPD
我像这样编辑了 Android.csproj 文件:
1) 添加
true
2) 添加此代码
< PropertyGroup >
< DotfuscatorXamarinConfigFileName >DotfuscatorConfig.xml< /DotfuscatorXamarinConfigFileName >
< DotfuscatorXamarinCliPath>C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition Evaluation4.43.1\dotfuscator.exe< /DotfuscatorXamarinCliPath >
< DotfuscatorXamarinGenerateNewConfigFile >true< /DotfuscatorXamarinGenerateNewConfigFile>
< DotfuscatorIncludeAsInput >< /DotfuscatorIncludeAsInput>
< /PropertyGroup>
< Import Project="..\..\PreEmptive.Dotfuscator.Xamarin\PreEmptive.Dotfuscator.Xamarin.targets"/>
< /Project> 标签之前。
仍然有错误:There are no assemblies to process. Stopping the build...
UPD2
我试图更改 .csproj 文件,就像在此链接中一样 :: https://www.preemptive.com/dotfuscator/pro/userguide/en/getting_started_protect.html#integrate-xamarin
这一次混淆甚至没有开始。应用程序已构建,但它像往常一样是简单的 apk。
【问题讨论】:
-
响应更新 #2,您就快到了。您仍然需要更改
<Import>标签中的Project;它仍在使用特定于 Xamarin 的 Dotfuscator Community 目标文件,而不是 Dotfuscator Professional 目标文件,后者涵盖了 Xamarin 和许多其他类型的项目。所以应该改为<Import Project="$(DotfuscatorMSBuildDir)\PreEmptive.Dotfuscator.Common.targets" />。 -
@JoeSewell 如果我尝试将
<Import Project="..\..\PreEmptive.Dotfuscator.Xamarin\PreEmptive.Dotfuscator.Xamarin.targets"/>替换为此<Import Project="$(DotfuscatorMSBuildDir)\PreEmptive.Dotfuscator.Common.targets" />混淆未开始 - 我只是构建没有混淆的应用程序。 -
@JoeSewell 好的,看来我在通往
targets的路径上有错误。现在构建过程很好。