Ich habe zwei Verweise auf eine SQLite-Assembly, eine für 32-Bit und eine für 64-Bit, die so aussieht (dies ist ein Testprojekt, um die Warnung loszuwerden, nicht auf den hängen Pfade):Bedingte Verweise in .NET-Projekt, möglich Warnung loswerden?
<Reference Condition=" '$(Platform)' == 'x64' " Include="System.Data.SQLite, Version=1.0.61.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64">
<SpecificVersion>True</SpecificVersion>
<HintPath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\64-bit\System.Data.SQLite.DLL</HintPath>
</Reference>
<Reference Condition=" '$(Platform)' == 'x86' " Include="System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<SpecificVersion>True</SpecificVersion>
<HintPath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\32-bit\System.Data.SQLite.DLL</HintPath>
</Reference>
das folgende Warnung erzeugt:
Warning 1 The referenced component 'System.Data.SQLite' could not be found.
Ist es möglich für mich, diese Warnung loswerden?
Eine Möglichkeit, wie ich mein Projekt als 32-Bit konfigurieren kann, wenn ich es entwickle, und die Build-Maschine die Referenz beim Erstellen für 64-Bit reparieren lassen, aber das scheint ein wenig peinlich und wahrscheinlich anfällig zu Fehlern.
Weitere Optionen?
Der Grund, warum ich es loswerden möchte, ist, dass die Warnung von TeamCity anscheinend aufgegriffen und regelmäßig als etwas markiert wird, das ich untersuchen muss, also möchte ich es komplett loswerden.
bearbeiten: Pro die Antwort, habe ich versucht, dies:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
...
<SqlitePath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\32-bit</SqlitePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
...
<SqlitePath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\32-bit</SqlitePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
...
<SqlitePath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\64-bit</SqlitePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
...
<SqlitePath>..\..\LVK Libraries\SQLite3\version_1.0.65.0\64-bit</SqlitePath>
</PropertyGroup>
und dann in meiner Referenz:
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(SqlitePath)\System.Data.SQLite.DLL</HintPath>
</Reference>
Dies wurde von der Warnung los zu werden, aber ist es richtig ?
Ich habe meine Antwort mit dem bearbeitet, was ich für richtig halte. Kannst du es dir anschauen und mir sagen, ob das das war, was du meintest? –
@Lasse: Das scheint richtig zu sein. – Richard