Cum se face referire la asamblarea mai multor versiuni

Dezvolt o aplicație Sharepoint și folosesc biblioteca .NET AjaxControlToolkit, adăugăm o pagină aspx personalizată Sharepoint. Sharepoint 2007 rulează în modul quirks așa că am făcut unele modificări la biblioteca AJAX pentru a face să se comporte așa cum ar trebui în mod normal. Problema este că cealaltă echipă utilizează deja biblioteca AJAX și este o versiune diferită de cea a mea. Acest lucru provoacă conflicte, deoarece în dosarul de bin cu același nume ar putea exista doar o singură fișă.

Din câte știu, .NET ar trebui să poată gestiona cu ușurință această situație. Am încercat să folosesc numele puternic și GAC pentru ao rezolva, dar se referă totuși la dll-ul din folderul bin. Dacă nu există AjaxControlToolkit.dll în dosarul cu bin, aplicația nu va încărca ansamblul.

Dacă folosesc informații complete de asamblare despre asta

<%@ 
    Register 
    tagprefix="AjaxControlToolkit"
    namespace="AjaxControlToolkit"
    assembly="AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral"
%>

Îmi dă eroarea de compilare CS0433

Poate cineva să mă ajute cu privire la modul de utilizare a mai multe versiuni de asamblare într-o aplicație?

0
fr hi bn
Utilizați versiunea diferită a ansamblurilor în același control? Sau este același proiect, dar controale diferite?
adăugat autor Machinegon, sursa

1 răspunsuri

Ei bine, link-ul pentru Eroare de compilator CS0433 face destul de clar faptul că problema de bază nu se referă la mai multe versiuni ale ansamblului - dar cu spațiu de nume + conflicte tipename.

Când încărcați / trimiteți un tip - compilatorul nu poate rezolva DLL-ul pentru a încărca acel tip. Dacă Sharepoint intenționează să încarce ambele versiuni DLL-uri (cum spuneți că are nevoie) - această eroare va veni întotdeauna.

Cea mai simplă soluție ar fi să schimbați spațiile de nume din noul DLL, deoarece are propriile personalizări personalizate, iar tu controlezi codul - marchează-l și în mod clar.

0
adăugat