Der Typ oder namespace konnte nicht gefunden werden
Ich bin gerade dabei zu konvertieren WiX 3.5 benutzerdefinierte Aktionen-Projekt in Visual Studio 2008 zu WiX 3.7 und Visual Studio 2012 und ich bin immer folgende exception:
Den Typ oder namespace-name 'MyNamespace' konnte nicht gefunden werden (sind Sie
fehlt eine using-Direktive oder ein Assemblyverweis?)
Die dll ist definitiv verwiesen und Visual Studio 2012 hat kein problem, sehen Sie den namespace. Alles unter dem namespace selbst erscheint in Intellisense, aber wenn ich es bauen, ich bekomme diese exception.
Jemand eine Idee, was hier Los ist?
Zusätzliche Info:
Den namespace, die ich bin Referenzierung ist eine .Net 2.0 Bibliothek und benutzerdefinierte Aktionen-Projekt ein .Net 2.0 Projekt.
EDIT:
Nach einer weiteren Untersuchung, ich bekomme diese Warnung, die ich vermute, ist die Wurzel des Problems:
Die primäre Referenz "MyNamespace, Version=8.5.1.20, Culture=neutral,
PublicKeyToken=f593502af6ee46ae, processorArchitecture=MSIL" konnte nicht
gelöst werden, weil es eine indirekte Abhängigkeit von der .NET
Framework-assembly "mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089", die eine höhere version "4.0.0.0"
als die version "2.0.0.0" in der aktuellen Ziel-framework.
Warum wird es versuchen, zu verwenden mscorelib 4.0, wenn dies ist ein 2.0-Projekt?
InformationsquelleAutor Seth Moore | 2013-07-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
So stellte sich heraus, dass die dll als Referenz, während Sie zusammengestellt, um das Ziel .Net 2.0-framework, wurde zusammengestellt mit der 4.0-compiler. Schalten Sie das Projekt zu kompilieren mit dem 3,5-compiler das problem gelöst.
InformationsquelleAutor Seth Moore
Dies ist möglicherweise nicht vollständig, aber ich hatte ein ähnliches Problem gestern. Ich hatte versehentlich kopiert eine class-Datei (.cs) aus einer Lösung in eine andere Lösung. Klar, ich hatte nicht Hinzugefügt, dass die Verweise auf die anderen Lösungen.
Ich hatte dieses problem am Samstag und bei der überprüfung der Lösung einer Klasse war kopiert in das falsche Projekt, was bedeutet, dass es ein problem mit verweisen. Es kann also nicht fix diese Personen bestimmten problem, sondern es ist eine gültige Lösung und es kann helfen, einige Nutzer.
InformationsquelleAutor Zak Willis
In unserem Fall, während die referenzierte dll wurde targeting .Net 4.0, es hatte seine eigene Referenz, um eine .Net 4.5.2 dll. Die referenzierten 4.0 framework Ziel führte uns zu glauben, 4.5 oder 4.5.1 ausreichend waren, um Dinge zu handhaben, aber Sie waren nicht—das referenzierende Projekt 4.5.2 handle der dll und alle seine Referenzen.
Das war eindeutig ein Fehler seitens des dll-maker.
InformationsquelleAutor ErikE