2010-12-18 20 views
7

Bir Wpf UserControl Kitaplığı oluşturdum ve büyük bir grup derleme içeriyor ve hatta diğer iki sınıf kitaplığı ve birkaç birleştirilmiş kaynak sözlüğüne atıfta bulunuyor. Hata olmadan yapılır. Basit bir VSX paketi oluşturdum ve Wpf Kitaplığı'nı referansladım, ardından çalıştırmayı denedim. Sayfayı ayrıştırdığı gibi, xaml UserControl sayfamda başvurulan derlemelerin yalnızca bir kısmını bulmayı başardı. Bu, her bir birleştirilemez montaj için füzyon kaydında aşağıdaki hata mesajını verir. "Kötü" montajı kaldırırsam, bir sonraki dengesiz olana ayrışmaya devam eder. Başvurulan sınıflığımdan birini bulmak mümkün, ama diğerini değil. Farklı sınıf içeriği ile esas olarak aynıdır.VSX 2010 paket yükleniyor- Markup.xaml ayrıştırma meclisleri bulamıyor

Peki, bunun için herhangi bir kaynağı veya cevabı olan var mı? WCF hizmetleri bile içeren diğer test projelerim hiç sorun olmadan yükleniyor ve bu benim için bir tampon.

Teşekkürler Danny

=== Ön bağlama durum bilgisi === LOG: Kullanıcı = OSOS \ LOG dhoneycu: DisplayName = System.Windows.Interactivity, PublicKeyToken = 31bf3856ad364e35 (Kısmi) UYR : Bir montaj için kısmi ciltleme bilgisi sağlandı: WRN: Montaj Adı: System.Windows.Interactivity, PublicKeyToken = 31bf3856ad364e35 | Etki Alanı Kimliği: 1 WRN: Montaj görünen adının sadece bir kısmı sağlandığında kısmi bir bağlantı oluşur. WRN: Bu, bağlayıcının yanlış bir montajı yüklemesiyle sonuçlanabilir. WRN: Basit ad, sürüm, kültür ve ortak anahtar belirtecinden oluşan, WRN: derlemesi için tam olarak belirtilen bir metin kimliği sağlamanız önerilir. WRN: Daha fazla bilgi ve bu sorunla ilgili genel çözümler için teknik incelemeye http://go.microsoft.com/fwlink/?LinkId=109270 bakın. LOG: AppBase = file: /// C:/Program Files/Microsoft Visual Studio 10.0/common7/IDE/ LOG: İlk PrivatePath = BOŞ

çağrılması montaj: (Bilinmiyor).

LOG: Bu bağlama, varsayılan yükleme bağlamında başlar. LOG: Uygulama yapılandırma dosyasını kullanma: C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe.Config LOG: Ana bilgisayar yapılandırma dosyasını kullanarak: LOG: c: \ WINDOWS \ Microsoft makine yapılandırma dosyasını kullanarak \ Framework \ v4.0.30319 \ config \ machine.config. LOG: İlke başvurusu şu anda uygulanmıyor (özel, özel, kısmi veya konum tabanlı derleme bağlama). LOG: Yeni URL dosyasının karşıdan yüklemesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının indirilmesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/System.Windows.Interactivity/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının karşıdan yüklenmesi girişimi: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/PublicAssemblies/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının indirilmesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/PublicAssemblies/System.Windows.Interactivity/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının karşıdan yüklemesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/PrivateAssemblies/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının karşıdan yüklemesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/PrivateAssemblies/System.Windows.Interactivity/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının karşıdan yüklemesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/CommonExtensions/Microsoft/TemplateProviders/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının indirilmesini engelleme: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/common7/IDE/CommonExtensions/Microsoft/TemplateProviders/System.Windows.Interactivity/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının karşıdan yüklemesini deneyin: /// C:/Program Dosyaları/Microsoft Visual Studio 10.0/Common7/IDE/PrivateAssemblies/DataCollectors/System.Windows.Interactivity.DLL. LOG: Yeni URL dosyasının indirilmesini engelleme: /// C:/Program Dosyaları/Microsoft Visual Studio

cevap

19

VSPackage sınıfınıza bir ProvideBindingPath özniteliği eklemelisiniz. Bu, paket derlemenizin bulunduğu dizinin, aksi halde bulunamayan derlemeler için problanmasına neden olur (çünkü bunlar varsayılan VS problama yolunda kalmazlar). Bunu yapmak için, projenizde aşağıdaki dosyayı içerir: Sonra

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

\ aşağıdaki gibi VSPackage sınıfa aşağıdaki öznitelik eklemek : [ProvideBindingPath] public class VsPackage1 : Package { ... }

+0

Teşekkürler Aaron, Uçmadan önceki son bağlantıydı. Danny – isitdanny

+0

Aaron bir milyona teşekkür et, bunu asla anlamadım ... –

+0

'Bunu asla çözemez miydim? Bu. Kesinlikle bu. – sircodesalot

0

çok teşekkür ederim!

Bir günün daha iyi kısmını bunu anlamaya çalışırken harcadım. VSIX paketinde bir derleme varsa, Visual Studio tarafından mutlaka bulunmalı gibi görünüyor, ancak Fusion Günlüğüne baktığımda, standart sistem konumları haricinde hiçbir zaman gerçekte herhangi bir yere taramanın neden göründüğüne şaşırmadım.

ProvideBindingPath özniteliğinin, VS SDK'nın sonraki sürümlerinde Microsoft.VisualStudio.Shell ad alanına dahil edildiğini belirtmek isterim.