Oto, co zrobiłem w poprzednim projekcie, co będzie wymagało ręcznej edycji pliku (ów) .csproj. Potrzebujesz także oddzielnych katalogów dla różnych plików binarnych, najlepiej rodzeństwa innych i o tej samej nazwie co platforma, na którą kierujesz reklamy.
Po dodaniu referencji pojedynczej platformy do projektu otwórz plik .csproj w edytorze tekstu. Przed pierwszym <ItemGroup>
elementem w <Project>
elemencie dodaj następujący kod, który pomoże określić, na której platformie używasz (i budujesz).
<!-- Properties group for Determining 64bit Architecture -->
<PropertyGroup>
<CurrentPlatform>x86</CurrentPlatform>
<CurrentPlatform Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">AMD64</CurrentPlatform>
</PropertyGroup>
Następnie dla odniesień specyficznych dla Twojej platformy wprowadź następujące zmiany:
<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>
Zwróć uwagę na wykorzystanie $(CurrentPlatform)
właściwości, które zdefiniowaliśmy powyżej. Zamiast tego można użyć warunków warunkowych, dla których zestawy mają zostać uwzględnione dla danej platformy. Możesz również potrzebować:
- Wymień
$(PROCESSOR_ARCHITEW6432)
i $(PROCESSOR_ARCHITECTURE)
ze $(Platform)
rozważyć TYLKO platformę docelową projektów
- Zmień logikę określania platformy, aby była odpowiednia dla bieżącej maszyny, aby nie budować / odwoływać się do 64-bitowego pliku binarnego do wykonania na platformie 32-bitowej.
Napisałem to pierwotnie dla wewnętrznej Wiki w pracy, jednak zmodyfikowałem go i opublikowałem cały proces na moim blogu , jeśli jesteś zainteresowany szczegółowymi instrukcjami krok po kroku.