當我使用混淆(.NET電抗器)我得到的發佈版本這個錯誤:出現錯誤MSB4018:「LinkAssemblies」任務意外失敗。對於Xamarin的Android在Visual Studio 2015年
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:「LinkAssemblies」任務意外失敗。
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018信息:System.ArgumentException:空名稱
1 > C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Cecil.Mixin.CheckName(字符串名稱)
1> C:\ Program Files (x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Cecil.ModuleDefinition.GetType(String 命名空間,字符串名稱)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在 Mono.Cecil能做到.MetadataResolver.GetTypeDefinition(ModuleDefinition模塊, TypeReference型)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018 :at Mono.Cecil.MetadataResolver.GetType(ModuleDefinition module, TypeReference reference)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Cecil.MetadataResolver.Resolve(TypeReference 型)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Cecil.ModuleDefinition.Resolve(TypeReference 型)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:莫no.Cecil.TypeReference.Resolve()
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在 Mono.Linker.Steps.SweepStep.ResolveAllTypeReferences(AssemblyDefinition 組件)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Linker.Steps.SweepStep.Process()
1> C:\ Program Files (x86)\ MSBuild \ Xamarin \ An droid \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Linker.Steps.BaseStep。過程(LinkContext 上下文)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Mono.Linker。 Pipeline.Process(LinkContext上下文)
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在MonoDroid.Tuner .Linker.Process(LinkerOptions options,LinkContext & context)
1> C:\ Program Files (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在Xamarin.Android.Tasks.LinkAssemblies.Execute()
1> C:\程序文件 (x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1> C:\ Program Files文件 (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(1586,5): 錯誤MSB4018:在 Microsoft.Build.BackEnd.TaskBuilder.d__26 .MoveNext()
我使用Visual Studio 2015與Visual Studio v4.2.2.11 Xamarin擴展(文件Xamarin.VisualStudio_4.2.2.11.msi),Xamarin Android v7.0.2.42,MSBuild 2015和.NET反應堆。項目設置爲使用.NET FX v4.6.1和Android Target v5.1(API 22)和最低版本v4.4(API 19)。
因爲我在我的項目中得到了這個,我通過創建一個空白的Android項目而沒有添加任何代碼來測試它,只是由新的空白項目(按鈕單擊)創建的代碼,所以沒有引用DLL或第三方組件。
問候,
NCruz
更新:我編輯了Xamarin Android的版本,因爲我最初聲明它是v4.2.2.11,它是適用於Visual Studio的Xamarin擴展的版本。我正在使用的正確版本的Xamarin Android v7.0.2.42 – ncruz
您最好聯繫Xamarin支持。調用堆棧顯示Mono.Cecil問題,因此它必須與作爲引用添加的程序集相關。如果它們以某種方式被混淆,則會出現這樣的問題。 –
我聯繫了Xamarin的支持人員,他說他們沒有技術/開發支持,因爲他們已經被Visual Studio團隊吸收了。我沒有添加任何程序集引用 - 這是一個空白的Android項目,沒有添加任何代碼,只需點擊「新建項目」並選擇「Blank Android Project」即可。 Mono.Cecil與組件引用有什麼作用?我注意到調用堆棧在Mono.Cecil.Mixin.CheckName(String name)處有一個'System.ArgumentException:空名'錯誤。 – ncruz