MSBuild Fehler: duplicate references
Ein Windows Mobile Projekt an dem ich gerade arbeite benötigt mehrere separate Assemblies um alles das machen zu können was es soll. Unter anderem wurden verschiedene Renderer in eigene Assemblies gesteckt um diese Projektübergreifend zu verwenden. Auch hier sollte nun nun der Renderer eingebaut werden. In der Debug- und Release-Konfiguration klappte das auch problemlos, nur meldete MSBuild beim Kompilieren für das Setup folgenden Fehler:
error CS1703: An assembly with the same identity 'mscorlib, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=969db8053d3322ac' has already been imported.
Try removing one of the duplicate references.
Leider ist diese Fehlermeldung in diesem Fall nicht sehr aussagekräftig, schließlich kann ich die mscorlib-Referenz von keinem Projekt entfernen. Und enst nach etwas Suchen fand ich in diesem Forumseitrag (hier, Google Cache, falls die Microsoft-Server mal wieder gewartet werden) den entscheidenten Hinweis: In dem separaten Projekt (was im Setup mitkompiliert wird) gab es die Setup-Konfiguration nicht.
Im Visual Studio 2008 fand ich keine Möglichkeit eine neue bzw. existierende Konfiguration hinzuzufügen und so musste das in der Projektdatei direkt passieren. Dazu habe ich dort die Release-Konfiguration kopiert und entsprechend geändert. Das Ergebni sah dann so aus:
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Setup\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
Sobald die neue Konfiguration verfügbar war, funktionierte alles weder. Ein Windows Mobile Projekt an dem ich gerade arbeite benötigt mehrere separate Assemblies um alles das machen zu können was es soll. Unter anderem wurden verschiedene Renderer in eigene Assemblies gesteckt um diese Projektübergreifend zu verwenden. Auch hier sollte nun nun der Renderer eingebaut werden. In der Debug- und Release-Konfiguration klappte das auch problemlos, nur meldete MSBuild beim Kompilieren für das Setup folgenden Fehler:c:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\mscorlib.dll :