मेरे पास SQLite असेंबली के लिए दो संदर्भ हैं, 32-बिट के लिए एक और 64-बिट के लिए एक, जो ऐसा लगता है (यह चेतावनी से छुटकारा पाने का प्रयास करने के लिए एक परीक्षण प्रोजेक्ट है, पर लटका नहीं है पथ):चेतावनी से छुटकारा पाने के लिए .NET परियोजना में सशर्त संदर्भ?
<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-बिट के लिए निर्माण करते समय संदर्भ को ठीक करने देता है, लेकिन यह थोड़ा अजीब लगता है और शायद प्रवण त्रुटियों के लिए।
कोई अन्य विकल्प?
कारण मैं इससे छुटकारा पाने का कारण यह है कि चेतावनी टीमसिटी द्वारा स्पष्ट रूप से उठाई जा रही है और समय-समय पर मुझे देखने की आवश्यकता के रूप में चिह्नित किया गया है, इसलिए मैं इसे पूरी तरह से छुटकारा पाने के लिए चाहता हूं।
संपादित: जवाब के अनुसार, मैं इस कोशिश की:
<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>
यह चेतावनी से छुटकारा मिला है, लेकिन यह सही है ?
मैंने अपने उत्तर को जो सही लगता है उसके साथ संपादित किया है, क्या आप इसे देख सकते हैं और मुझे बता सकते हैं कि क्या आपका मतलब था? –
@Lasse: यह सही प्रतीत होता है। – Richard