У меня есть две ссылки на сборку SQLite, одну для 32-битной и одну для 64-битной, которая выглядит следующим образом (это тестовый проект, чтобы попытаться избавиться от предупреждения, не зацикливайтесь на пути):
<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>
Это выдает следующее предупреждение:
Warning 1 The referenced component 'System.Data.SQLite' could not be found.
Могу ли я избавиться от этого предупреждения?
Один из способов, которым я воспользовался, - это просто настроить 32-битный проект при разработке и позволить сборочной машине исправлять эталон при 64-битной компоновке, но это кажется немного неловким и, вероятно, склонным к ошибки.
Есть ли другие варианты?
Причина, по которой я хочу избавиться от этого, заключается в том, что предупреждение, по-видимому, принимается TeamCity и периодически помечается как то, что мне нужно изучить, поэтому я хотел бы полностью избавиться от него.
Редактировать : Согласно ответу, я попробовал это:
<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>
а потом в моей справке:
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(SqlitePath)\System.Data.SQLite.DLL</HintPath>
</Reference>
Это избавило от предупреждения, но верно ли это?