2016-10-27 2 views
5

Ich möchte die Leistung meiner Xamarin.Forms UWP-Anwendung verbessern, da sie im Release-Modus extrem langsam ist (".NET native" aktiviert). Also ich XAMLC auf Baugruppenebene im PCL-Projekt anwenden:Xamarin.Forms - XamlCompilation MissingMethodException

[assembly: XamlCompilation (XamlCompilationOptions.Compile)] 
namespace MyApp 
{ 
} 

aber mit diesem Attribut erhalte ich Laufzeitfehler:

"Method not found: 'Void Xamarin.Forms.Xaml.Internals.SimpleValueTargetProvider..ctor(System.Object[])'."

Nach dieser:

https://github.com/xamarin/Xamarin.Forms/blob/master/docs/Xamarin.Forms.Xaml/Xamarin.Forms.Xaml.Internals/SimpleValueTargetProvider.xml

die SimpleValueTargetProvider Klasse hat 2 Versionen:

  • 1.5.0.0 - Konstruktor mit einem Parameter System.Object []
  • 2.0.0.0 - Konstruktor mit 2 Parametern System.Object [] und System.Object

I verwenden Xamarin.Forms 2.3.3.163 -pre3, damit ich die zweite Version in meinem Projekt verwende (wenn ich zu SimpleValueTargetProvider in Xamarin.Forms.Xaml.Internals navigiere, kann ich Konstruktor mit 2 Parametern sehen). Mein Verständnis ist, dass anscheinend "etwas" immer noch SimpleValueTargetProvider 1.5.0.0 aufruft, aber ich habe keine Ahnung, was es ist.

Ich entfernte alle Komponenten von Drittanbietern, aber es half nicht. Ich verwenden Fusionsprotokoll, um herauszufinden, was los ist, aber das ist alles, was ich (um ehrlich zu sein, weiß ich nicht, ob dies mit der Frage zusammenhängt ich überhaupt hin) erhalten:

> *** Assembly Binder Log Entry (10/26/2016 @ 9:09:42 PM) *** 
> 
> The operation failed. Bind result: hr = 0x80070002. The system cannot 
> find the file specified. 
> 
> Assembly manager loaded from: 
> C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll Running under 
> executable C:\Program Files (x86)\Microsoft Visual 
> Studio\VS15Preview\Common7\IDE\devenv.exe 
> --- A detailed error log follows. 
> 
> === Pre-bind state information === LOG: DisplayName = XamlDesignerFaultInjection (Partial) WRN: Partial binding information 
> was supplied for an assembly: WRN: Assembly Name: 
> XamlDesignerFaultInjection | Domain ID: 1 WRN: A partial bind occurs 
> when only part of the assembly display name is provided. WRN: This 
> might result in the binder loading an incorrect assembly. WRN: It is 
> recommended to provide a fully specified textual identity for the 
> assembly, WRN: that consists of the simple name, version, culture, and 
> public key token. WRN: See whitepaper 
> http://go.microsoft.com/fwlink/?LinkId=109270 for more information and 
> common solutions to this issue. LOG: Appbase = file:///C:/Program 
> Files (x86)/Microsoft Visual Studio/VS15Preview/Common7/IDE/ LOG: 
> Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = 
> NULL LOG: AppName = devenv.exe Calling assembly : (Unknown). 
> === LOG: This bind starts in default load context. LOG: Using application configuration file: 
> C:\Users\blaze\AppData\Local\Microsoft\VisualStudio\15.0_2f751565\devenv.exe.config 
> LOG: Using host configuration file: LOG: Using machine configuration 
> file from 
> C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
> LOG: Policy not being applied to reference at this time (private, 
> custom, partial, or location-based assembly bind). LOG: Attempting 
> download of new URL file:///C:/Program Files (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/XamlDesignerFaultInjection.DLL. LOG: 
> Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PublicAssemblies/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PublicAssemblies/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Microsoft/TemplateProviders/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Microsoft/TemplateProviders/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/Debugger/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/Debugger/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/DiagnosticsHub/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/DiagnosticsHub/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/x86/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/x86/XamlDesignerFaultInjection/XamlDesignerFaultInjection.DLL. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/XamlDesignerFaultInjection.EXE. LOG: 
> Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PublicAssemblies/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PublicAssemblies/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Microsoft/TemplateProviders/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Microsoft/TemplateProviders/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/Debugger/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/Debugger/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/DiagnosticsHub/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/CommonExtensions/Platform/DiagnosticsHub/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/x86/XamlDesignerFaultInjection.EXE. 
> LOG: Attempting download of new URL file:///C:/Program Files 
> (x86)/Microsoft Visual 
> Studio/VS15Preview/Common7/IDE/PrivateAssemblies/DataCollectors/x86/XamlDesignerFaultInjection/XamlDesignerFaultInjection.EXE. 
> LOG: All probing URLs attempted and failed. 

Ist die ein Fehler in Xamarin.Forms oder XamlCTask? Ist jemand auf dieses Problem gestoßen oder weiß, wie man es beheben kann?

  • Windows-10 64-Bit-
  • Visuelle Studion 15 Vorschau 5
  • Xamarin 4.2.1.14
  • Xamarin.Forms 2.3.3.163-pre3

Vielen Dank im Voraus

Antwort

8

Dies ist höchstwahrscheinlich ein Caching-Problem auf IDE- oder Projektebene.

Wenn bei IDE Ebene ist: - ein sauberes tun - Neustart VS oder XS -

wieder aufbauen, aber sie versuchen, wahrscheinlich schon.

Meine Vermutung ist, dass eine der Nuget-Update nicht richtig gereinigt wurde, und Sie haben unterschiedliche Version von XF referenziert auf unterschiedliche Projekt Ihrer Lösung, oder eine .csproj Datei verweist auf die alte .targets Datei.

Einige manuelle Hausputze werden das Problem hoffentlich lösen.

+0

Danke Stephane! Manuelle Reinigung hat das Problem gelöst. – Blazey

+1

@Blazey Was ist manuelle Reinigung? alles im Paketordner löschen oder alle Pakete aus dem Projekt entfernen? – batmaci

+0

Ich habe .csproj im Editor bearbeitet und alle alten Verweise auf XF entfernt. – Blazey

3

Wenn Ihr Projekt von einer Assembly von Drittanbietern abhängt, die XamlC verwendet, und wenn diese Assembly unter XF < 2.3.3 erstellt wurde, kann dieses Problem weiterhin auftreten.

Ein Fix existiert und wird als Teil des ersten Service Release für XF 2.3.3 freigegeben.

Verwandte Themen