Domanda

Ho un WPF NET 4.0 classe fa riferimento a una libreria di Silverlight 4 classe.

La biblioteca SL compila bene, ma quando compilo la libreria di classi WPF, ottengo:

Error   2   Unknown build error, 'Cannot resolve dependency to assembly 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.'    MyProj.Presentation.Wpf

Immagino il problema deve essere simile a quello citato qui: http://markti.spaces.live.com/blog/cns! D92CF278F0F91957! 273.entry

ma mia biblioteca WPF non contiene alcun XAML riferimento a un controllo utente dalla mia biblioteca SL. Infatti, la mia biblioteca SL non ha alcuna XAML in affatto. Essa, tuttavia, hanno diverse DependencyObjects condivise, come ad esempio un EventCommander (vincolanti elemento eventi UI ai comandi), e alcuni aiutanti DataTemplate.

C'è un modo per circoscrivere il problema qui? E qualcuno ha trovato un modo di riferimento in modo efficace elementi dell'interfaccia utente in un progetto SL4 da NET 4.0?

Grazie.

È stato utile?

Soluzione

questo

Qualcuno sa di un modo per fare riferimento a uno SL4 assemblaggio con System.Windows riferimenti da un NET completo di montaggio (senza giusta che collega i file e la creazione di due diversi progetti per mantenere)?

Non è possibile al momento. Riferimento assemblee SL in progetti NET sarà solo il lavoro se il progetto SL non fa riferimento qualsiasi assembly diversi mscorlib, Sistema, System.Core, System.ComponentModel.Composition e Microsoft.VisualBasic . L'aggiunta di un progetto WPF e collegando i file SL in quel progetto è l'unico modo è possibile riutilizzare il codice SL se utilizza ad esempio System.Windows.

Saluti, Alex

Altri suggerimenti

Sono forse in ritardo, ma questo non ha ancora ricevuto risposta.

C'è un plugin per VisualStudio 2010, che consente di creare gruppi, che possono fare riferimento in NET, Silverlight, Windows Phone e XNA su xbox. Si chiama PortableLibrary.

http://blogs.msdn.com/b/bclteam/archive/2011/01/19/announcing-portable-library-tools-ctp-justin-van-patten.aspx

trovato! Ho avuto qualche xmlns namespace definito nella mia libreria di classi SL4 come:

using System.Windows.Markup;

[assembly: XmlnsDefinition("http://MyProj/Presentation", "MyProj.Presentation")]
[assembly: XmlnsDefinition("http://MyProj/Presentation", "MyProj.Presentation.Controls")]

e che impediva il WPF assembly dal riferimento, producendo l'errore suddetto. Basta spostato le dichiarazioni di namespace nel progetto WPF per fissare ...

[Modifica]

Ok, quindi questo ha risolto il problema ... ma qualcuno sa di un modo per fare riferimento a uno SL4 assemblaggio con System.Windows riferimenti da un NET completo di montaggio (senza giusta che collega i file e la creazione di due diversi progetti per mantenere) ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top