VSX 2010 package download - parsing .xaml markup cannot find assemblies

I created the Wpf UserControl Library and contains a large group of assemblers and even refers to two other class libraries and several combined resources. It builds without errors. I built a simple VSX package and turned to the Wpf Library, and then tried to run it. When he parsed the page, he could only find part of the assemblies that link to my xaml UserControl page. It gives me the error message below in the merge log for each unrelated assembly. If I remove the “bad” assembly, it will continue to parse the next unjustified. He may find one of my reference cool libraries, but not the other. They are set up essentially the same with different class contents.

So, does anyone have any resources or answers to this? My other test projects, which even contain loading WCF services without any problems, are amazing to me.

Thanks Danny

=== Pre-binding status information === LOG: User = AMRS \ dhoneycu LOG: DisplayName = System.Windows.Interactivity, PublicKeyToken = 31bf3856ad364e35 (Partial) WRN: Partial binding information was provided for assembly: WRN: Name builds: System.Windows.Interactivity, PublicKeyToken = 31bf3856ad364e35 | Domain ID: 1 WRN: Partial binding occurs when only part of the display name of the assembly is provided. WRN: This may cause the middleware to load the wrong assembly. WRN: It is recommended that you provide a fully-defined text identifier for the assembly; WRN: consists of a simple name, version, culture, and public key token. WRN: See White Paper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and general solutions to this problem. LOG: Appbase = file: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / LOG: Initial PrivatePath = NULL

Build call: (Unknown).

LOG: this binding starts in the context of the default load. LOG: Using the application configuration file: C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe.Config LOG: Using the host configuration file: LOG: Using the machine configuration file from c: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config. LOG: The policy does not apply to the link at this time (private, custom, partial, or location-based assembly binding). LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / System.Windows.Interactivity / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / PublicAssemblies / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / PublicAssemblies / System.Windows.Interactivity / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / PrivateAssemblies / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / PrivateAssemblies / System.Windows.Interactivity / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / CommonExtensions / Microsoft / TemplateProviders / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / CommonExtensions / Microsoft / TemplateProviders / System.Windows.Interactivity / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio 10.0 / Common7 / IDE / PrivateAssemblies / DataCollectors / System.Windows.Interactivity.DLL. LOG: attempt to load a new file URL: /// C: / Program Files / Microsoft Visual Studio

+7
source share
2 answers

You must put the ProvideBindingPath attribute in your VSPackage class. This will cause the directory where your package assembly is located to be checked for assemblies that cannot otherwise be found (since they are not in the default VS testing path). To do this, include the following file in the project:

% VSSDKInstallDir% \ VisualStudioIntegration \ Common \ Source \ CSharp \ RegistrationAttributes \ ProvideBindingPathAttribute.cs

Then add the following attribute to your VSPackage class:

[ProvideBindingPath] public class VsPackage1 : Package { ... }

+19
source

Thank you very much!

I spent most of the day trying to figure it out. It seems that if the assembly is in the VSIX package, you should definitely find it in Visual Studio, however, looking at the Fusion Log, I was puzzled that it never looked anywhere except for standard system locations.

I want to note that the ProvideBindingPath attribute is included in the Microsoft.VisualStudio.Shell namespace in later versions of the VS SDK.

0
source

All Articles