Ho due riferimenti a un assembly SQLite, uno per 32 bit e uno per 64 bit, che appare come questo (questo è un progetto di prova per provare a sbarazzarsi dell'avvertimento, non rimanere appeso al percorsi):Riferimenti condizionali nel progetto .NET, è possibile eliminare avvisi?
<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>
questo produce il seguente avviso:
Warning 1 The referenced component 'System.Data.SQLite' could not be found.
E 'possibile per me, per sbarazzarsi di questo avviso?
Un modo ho guardato per configurare solo il mio progetto sia a 32-bit quando sviluppo, e lasciare che il sistema di compilazione fissare il riferimento quando si costruisce a 64 bit, ma questo sembra un po 'scomodo e probabilmente inclini agli errori.
Altre opzioni?
Il motivo per cui voglio sbarazzarmene è che l'avviso sembra essere stato raccolto da TeamCity e periodicamente contrassegnato come qualcosa che devo esaminare, quindi mi piacerebbe liberarmene completamente.
Edit: Per la risposta, ho provato questo:
<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>
e poi nel mio riferimento:
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(SqlitePath)\System.Data.SQLite.DLL</HintPath>
</Reference>
Questa è sbarazzato di avvertimento, ma è corretto ?
Ho modificato la mia risposta con quello che penso sia corretto, puoi guardarlo e dirmi se era questo che intendevi? –
@Lasse: sembra corretto. – Richard