यहाँ मैंने पिछले प्रोजेक्ट में क्या किया है, जिसे .csproj फ़ाइल (s) के मैनुअल संस्करण की आवश्यकता होगी। आपको अलग-अलग बायनेरिज़ के लिए अलग-अलग निर्देशिकाओं की भी ज़रूरत है, आदर्श रूप से एक-दूसरे के भाई-बहन, और आपके द्वारा लक्षित किए जा रहे प्लेटफ़ॉर्म के समान नाम के साथ।
प्रोजेक्ट में एकल प्लेटफ़ॉर्म के संदर्भ जोड़ने के बाद, .csproj को एक पाठ संपादक में खोलें। <ItemGroup>
तत्व के भीतर पहले तत्व से पहले <Project>
, निम्न कोड जोड़ें, जो यह निर्धारित करने में मदद करेगा कि आप किस प्लेटफॉर्म (और निर्माण) पर चल रहे हैं।
<!-- Properties group for Determining 64bit Architecture -->
<PropertyGroup>
<CurrentPlatform>x86</CurrentPlatform>
<CurrentPlatform Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">AMD64</CurrentPlatform>
</PropertyGroup>
फिर, आपके प्लेटफ़ॉर्म विशिष्ट संदर्भों के लिए, आप निम्नलिखित जैसे परिवर्तन करते हैं:
<ItemGroup>
<Reference Include="Leadtools, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.dll</HintPath>
</Reference>
<Reference Include="Leadtools.Codecs, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.Codecs.dll</HintPath>
</Reference>
<Reference Include="Leadtools.ImageProcessing.Core, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.ImageProcessing.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.Entity" />
<!-- Other project references -->
</ItemGroup>
उस $(CurrentPlatform)
संपत्ति के उपयोग पर ध्यान दें , जिसे हमने ऊपर परिभाषित किया था। इसके बजाय, आप ऐसी स्थिति का उपयोग कर सकते हैं जिसके लिए विधानसभाओं को किस प्लेटफॉर्म के लिए शामिल किया जाए। आपको इसकी आवश्यकता भी पड़ सकती है:
- बदलें
$(PROCESSOR_ARCHITEW6432)
और $(PROCESSOR_ARCHITECTURE)
साथ $(Platform)
ही परियोजनाओं के लक्ष्य मंच पर विचार करने के लिए
- वर्तमान मशीन के लिए उपयुक्त होने के लिए प्लेटफ़ॉर्म निर्धारण तर्क को बदल दें, ताकि आप 32 बिट प्लेटफ़ॉर्म पर निष्पादित करने के लिए 64 बिट बाइनरी का निर्माण / संदर्भ न कर रहे हों।
मैंने इसे मूल रूप से काम पर एक आंतरिक विकी के लिए लिखा था, हालांकि, मैंने इसे संशोधित किया है और पूरी प्रक्रिया को अपने ब्लॉग पर पोस्ट किया है , यदि आप विस्तृत चरण-दर-चरण निर्देशों में रुचि रखते हैं।