J'ai deux références à un assembly SQLite, un pour 32 bits et un pour 64 bits, qui ressemble à ceci (c'est un projet de test pour essayer de se débarrasser de l'avertissement, ne vous accrochez pas sur le chemins):Références conditionnelles dans le projet .NET, possible de se débarrasser de l'avertissement?
<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>
ce produit l'avertissement suivant:
Warning 1 The referenced component 'System.Data.SQLite' could not be found.
Est-il possible pour moi de me débarrasser de cet avertissement? D'une manière que je l'ai regardé pour simplement configurer mon projet pour être 32 bits quand je développe, et laisser la machine de construction fixer la référence en construisant pour 64-bit, mais ceci semble un peu maladroit et probablement enclin aux erreurs.
D'autres options?
La raison pour laquelle je veux me débarrasser de cela est que l'avertissement est apparemment pris en charge par TeamCity et périodiquement signalé comme quelque chose que je dois examiner, donc je voudrais m'en débarrasser complètement.
Modifier: Par la réponse, j'ai essayé ceci:
<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>
puis dans ma référence:
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(SqlitePath)\System.Data.SQLite.DLL</HintPath>
</Reference>
C'est débarrassé de l'avertissement, mais est-il correct ?
J'ai édité ma réponse avec ce que je pense être correct, pouvez-vous le regarder et me dire si c'est ce que vous vouliez dire? –
@Lasse: Cela semble être correct. – Richard