.платформа csproj Для ItemGroup работает для ссылок на сборку, но не включает в себя контент?

Поскольку у нас есть три сборки, которые поставляются в явных версиях x86 и x64, я отредактировал соответствующие CSPROJ-файлы, чтобы использовать, например, такой блок:

  <ItemGroup Condition=" '$(Platform)' == 'x86' ">
    <Reference Include="CaliberRMSDK">
      <HintPath>..\Libraries\CaliberRMSDK_IKVM\32bit\CaliberRMSDK.dll</HintPath>
    </Reference>
    <Content Include="..\Libraries\CaliberRMSDK_IKVM\32bit\ikvm-native.dll">
      <Link>ikvm-native.dll</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="..\Libraries\CaliberRMSDK_IKVM\32bit\JVM.dll">
      <Link>JVM.dll</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup Condition=" '$(Platform)' == 'x64' ">
    <Reference Include="CaliberRMSDK">
      <HintPath>..\Libraries\CaliberRMSDK_IKVM\64bit\CaliberRMSDK.dll</HintPath>
    </Reference>
    <Content Include="..\Libraries\CaliberRMSDK_IKVM\64bit\ikvm-native.dll">
      <Link>ikvm-native.dll</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="..\Libraries\CaliberRMSDK_IKVM\64bit\JVM.dll">
      <Link>JVM.dll</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

При перезагрузке CSPROJ-файла в Visual Studio 2010 и использовании 'x86' в качестве платформы все работает отлично. При выборе 'x64' в качестве платформы используется правильная ссылка на 64-битную сборку НО связанная ( ..) always использует 32-битные (и поэтому приложение не работает).

В файлах проекта больше нет никакого процессора, и я бы «ожидал», что он будет отлично работать для контента, включающего в себя. но это не так. Есть ли что-нибудь, чего мне не хватает?

18
задан starblue 18 December 2010 в 22:42
поделиться