Как вы упаковываете собственные зависимости в пакет nuget для AnyCpu для пользователей проекта SDK-Style? - PullRequest
0 голосов
/ 25 октября 2019

В настоящее время я работаю над приложением, использующим .Net Framework 4.5, с использованием нового формата проекта в стиле SDK. Я хочу создать пакет nuget для сторонней зависимости, которая состоит из сборки AnyCpu и собственных зависимостей с разными именами для x86 и x64. Я хочу, чтобы в случае AnyCpu-Build были скопированы только все собственные зависимости и только соответствующие библиотеки при компиляции моей программы с x86 / x64.

Я попытался создать nuget со следующей структурой:

- lib
   - net452
       - Dependency.AnyCpu.Assembly.dll
- runtime
   - win7
       - native
           - Dependency.Native.x86.dll
           - Dependency.Native.x64.dll
   - win7-x86
       - native
           - Dependency.Native.x86.dll
   - win7-x64
       - native
           - Dependency.Native.x64.dll

, который работает для случая x86 и x64, но не может ничего скопировать в случае AnyCpu. Без папки win7 разницы нет. Файл

A .props со следующим содержимым:

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Condition="'$(Platform)' == 'AnyCPU'">
    <Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x86\native\*">
      <Link>%(Filename)%(Extension)</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <Visible>False</Visible>
    </Content>
    <Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x64\native\*">
      <Link>%(Filename)%(Extension)</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <Visible>False</Visible>
    </Content>
  </ItemGroup>
</Project>

копирует все собственные зависимости независимо от того, какую архитектуру я установил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...