Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Der Typ „Typname1“ ist sowohl in „Typname2“ als auch in „Typname3“ vorhanden.
Zwei Assemblys, auf die in der Anwendung verwiesen wird, enthalten den gleichen Namespace und den gleichen Typ, was zu Mehrdeutigkeit führt.
Um diesen Fehler zu beheben, verwenden Sie die Aliasfunktion der Compileroption (References), oder verweisen Sie nicht auf eine Ihrer Assemblys.
Dieser Fehler kann auch in folgenden Fällen auftreten:
@ Page
-Anweisung ein CodeFile
-Attribut statt eines CodeBehind
-Attribut hat.Durch diesen Code wird die DLL mit der ersten Kopie des mehrdeutigen Typs erstellt.
// CS0433_1.cs in CS0433_1.csproj
// or compile with: /target:library
namespace TypeBindConflicts
{
public class AggPubImpAggPubImp { }
}
Durch diesen Code wird die DLL mit der zweiten Kopie des mehrdeutigen Typs erstellt.
// CS0433_2.cs in CS0433_2.csproj
// or compile with: /target:library
namespace TypeBindConflicts
{
public class AggPubImpAggPubImp { }
}
Wenn Sie also diese beiden Bibliotheken (CS0433_1.dll
und CS0433_2.dll
) im Projekt verwenden, ist die Verwendung des Typs AggPubImpAddPubImp
mehrdeutig und führt zum Compilerfehler CS0433
.
<!-- CS0433_3.csproj -->
<ProjectReference Include="..\CS0433_1\CS0433_1.csproj" />
<ProjectReference Include="..\CS0433_2\CS0433_2.csproj" />
// CS0433_3.cs in CS0433_3.csproj
// or compile with: /reference:cs0433_1.dll /reference:cs0433_2.dll
using TypeBindConflicts;
public class Test
{
public static void Main()
{
AggPubImpAggPubImp n6 = new AggPubImpAggPubImp(); // CS0433
}
}
Im folgenden Beispiel wird die Verwendung des Aliasfeatures der Compileroption /reference oder des Features <Aliases>
in <ProjectReference>
zum Beheben des Fehlers CS0433 veranschaulicht.
<!-- CS0433_4.csproj -->
<ProjectReference Include="..\CS0433_1\CS0433_1.csproj">
<Aliases>CustomTypes</Aliases>
</ProjectReference>
<ProjectReference Include="..\CS0433_2\CS0433_2.csproj" />
// CS0433_4.cs in CS0433_4.csproj
// compile with: /reference:cs0433_1.dll /reference:CustomTypes=cs0433_2.dll
extern alias CustomTypes;
using TypeBindConflicts;
public class Test
{
public static void Main()
{
// AggPubImpAggPubImp taken from CS0433_1.dll
AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();
// AggPubImpAggPubImp taken from CS0433_2.dll
CustomTypes.TypeBindConflicts.AggPubImpAggPubImp n7 =
new CustomTypes.TypeBindConflicts.AggPubImpAggPubImp();
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren