2016-10-27 14 views
5

Chcę poprawić wydajność aplikacji UWL Xamarin.Forms, ponieważ jest bardzo powolna w trybie Release (zaznaczono ".NET native"). Więc zastosowanie XAMLC na poziomie zespołu w projekcie PCL:Xamarin.Forms - XamlCompilation MissingMethodException

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

ale z tego atrybutu otrzymuję błąd wykonania:

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

Zgodnie z tym:

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

się Klasa SimpleValueTargetProvider ma 2 wersje:

  • 1.5.0.0 - konstruktor jednego parametru System.Object []
  • 2.0.0.0 - konstruktor 2 Parametry System.Object [] i System.Object

stosuję Xamarin.Forms 2.3.3.163 -pre3, więc używam drugiej wersji w moim projekcie (kiedy przechodzę do SimpleValueTargetProvider w Xamarin.Forms.Xaml.Internals, widzę konstruktora z 2 parametrami). Rozumiem, że najwyraźniej "coś" nadal wywołuje SimpleValueTargetProvider 1.5.0.0, ale nie mam pojęcia, co to jest.

Usunąłem wszystkie składniki innych firm, ale to nie pomogło. Kiedyś dziennik fuzyjne, aby dowiedzieć się, co się dzieje, ale to wszystko dostać (szczerze mówiąc nie wiem, czy jest to związane z emisją mam skierowaną w ogóle):

> *** 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. 

to jest błąd w Xamarin.Forms lub XamlCTask? Czy ktoś napotkał ten problem lub wie, jak to naprawić?

  • systemu Windows 10 64-bitowy
  • wizualna Studion 15 Podgląd 5
  • Xamarin 4.2.1.14
  • Xamarin.Forms 2.3.3.163-PRE3

góry dzięki

Odpowiedz

8

Jest to najprawdopodobniej kwestia buforowania na poziomie IDE lub projektu.

Jeśli jest to na poziomie IDE: - zrobić czystą - uruchom ponownie VS lub XS - odbudować

ale prawdopodobnie próbował już.

Domyślam się, że jedna z aktualizacji nuget nie została poprawnie oczyszczona, a masz inną wersję XF, do której odwołuje się inny projekt twojego rozwiązania, lub jeden plik .csproj odwołuje się do starego pliku .targets.

Niektóre ręczne czyszczenie domu rozwiąże problem, mam nadzieję.

+0

Dzięki Stephane! Ręczne czyszczenie rozwiązało problem. – Blazey

+1

@ Blazey co to jest czyszczenie ręczne? usuwanie wszystkiego w folderze paczek lub usuwanie wszystkich paczek z projektu? – batmaci

+0

Edytowałem .csproj w Notatniku i usunąłem wszystkie stare odniesienia do XF. – Blazey

3

Jeśli twój projekt zależy od zespołu zewnętrznego, który używa XamlC, a ten zestaw został zbudowany na XF < 2.3.3, nadal możesz dostać ten problem.

Poprawka istnieje i zostanie wydana jako część pierwszego wydania usługi dla XF 2.3.3

Powiązane problemy