2016-08-09 2 views
-1

Ich habe etwas Code zu einer ASP.NET-Datei in meinem Webprojekt hinzugefügt, und ich habe einen Fehler, den ich brauchte, um eine Referenz hinzuzufügen. Ich habe die benötigte Referenz im VS-Menü Website -> Add Reference... hinzugefügt.VB.NET Import von Assembly fehlgeschlagen

Jetzt bekomme ich eine Fehlermeldung:

BC31091 Import of type 'ITransactionalMapper' from assembly or module 'MyAssembly.Core.dll' failed. Web(7) C:\Projects\project\src\PublicWeb\Web\MyFile.aspx.vb 

mir die Liste der Referenzen für das Web-Projekt angesehen, und die Referenz-I ist nicht in der Liste hinzugefügt. Ich habe versucht, es wieder hinzuzufügen, und es sagt:

The Web site is already referencing the assembly 'MyAssembly.Core.dll'

So entschied ich, es entfernen wollte, und versuchen Sie es erneut hinzuzufügen. Ich kann keinen Weg finden, es zu entfernen, wenn es irgendwo hinzugefügt wird. Ich habe in der Datei Web.config gesucht, und ich sehe es nicht in der Liste der Assemblys.

Ich bin nicht wirklich sicher, was das Problem ist oder warum ich es habe. Der Code, den ich hinzufügte, verwendet eine andere referenzierte Assembly, und die Assembly verweist möglicherweise auch auf die Assembly, die ich hinzufügen wollte. Die ITransactionalMapper ist, meines Wissens nicht einmal innerhalb MyAssembly.Core.dll, befindet sich innerhalb MyAssembly.Database.dll.

Ich verwende VS 2015. Das Projekt .NET 4,5


Hinweis zielt: Wenn ich das Projekt in VS 2012 öffnen (das Projekt ist wirklich ein Projekt VS 2012), I statt Erhalten Sie den Fehler:

Aber es sollte diese Nummer akzeptieren. Es ist die Put, die einen ITransactionalMapper Parameter hat, den es nicht finden kann (der erste im Bild unten).

enter image description here


Update: Zwei zeigen notwendige Referenzen in VS 2015, aber nicht, wenn ich die Webprojekt Referenzen in VS 2012. warum passieren, dass würde jede Idee sehen?


bemerkte ich ein paar Build Warnungen sagen, dass MyAssembly.Core.dll widersprüchliche references available.

Found conflicts between different versions of the same dependent assembly that could not be resolved. 

Es erwähnt auch die Versionen. Aber ich sehe diese Referenzen immer noch nicht.

+0

VS2012 und VS2015 verwenden verschiedene Versionen von Msbuild, also erzeugen Sie verschiedene Fehler. Wenn ITransactionalMapper von etwas abhängt, das sich in MyAssembly.Core befindet, benötigt es die Referenz. Die Referenzen werden in der Projektdatei .vbproj gespeichert, nicht in web.config. Wenn Sie löschen oder aus Dubletten suchen möchten, dann tun Sie das dort. Wenn Sie im Projektmappen-Explorer auf Alle Dateien anzeigen klicken, werden die Referenzen in Ihrem Projekt aufgelistet. – FloatingKiwi

+0

@FloatingKiwi Die Referenzen für Nicht-Web-Projekte sind immer sichtbar.Im Webprojekt gibt es keine Schaltfläche "Alle Dateien anzeigen", da keine versteckten Dateien vorhanden sind. Die Referenzen für das Web werden im Solution Explorer nicht angezeigt. – mbomb007

+0

@FloatingKiwi Die Mapper-Klasse befindet sich in 'MyAssembly.Core.dll' und die Klasse, die' Put' aufruft, befindet sich in 'MyAssembly.Some.Other.Core.dll'. Könnte das das verursachen? – mbomb007

Antwort

1

Ich bezog mich auf eine Version von MyAssembly.Some.Other.Core.dll, die für eine andere Version von MyAssembly.Core.dll gebaut wurde. Ich habe eine andere Version versucht, und es funktioniert.

Verwandte Themen