Конфликт нескольких сборок со ссылками на систему NuGet - PullRequest
0 голосов
/ 24 октября 2018

У меня есть проект, который ссылается на этот пакет NuGet. Пакет имеет несколько ссылок на фреймворк (например, System.Collections).Мой проект нацелен на .NET Framework 4.6.2, и у меня на компьютере сборки установлен пакет нацеливания .NET 4.6.2.

Когда я устанавливаю пакет NuGet в Visual studio, он также устанавливает зависимости для всехпакеты фреймворка, так что мой packages.config выглядит так

<packages>
  <package id="CommandLineParser" version="2.3.0" targetFramework="net462" />
  <package id="System.Collections" version="4.3.0" targetFramework="net462" />
  <package id="System.Console" version="4.0.0" targetFramework="net462" />
  <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net462" />
  <package id="System.Globalization" version="4.0.11" targetFramework="net462" />
  <package id="System.IO" version="4.1.0" targetFramework="net462" />
  <package id="System.Linq" version="4.1.0" targetFramework="net462" />
  <package id="System.Linq.Expressions" version="4.1.0" targetFramework="net462" />
  <package id="System.Reflection" version="4.1.0" targetFramework="net462" />
  <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net462" />
  <package id="System.Reflection.TypeExtensions" version="4.1.0" targetFramework="net462" />
  <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="net462" />
  <package id="System.Runtime" version="4.1.0" targetFramework="net462" />
  <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net462" />
</packages>

Я читал, что это потому, что пакет предназначен для .NET Standard, который автоматически импортирует все эти пакеты, даже если они присутствуютна машине.

Пока все в порядке, и я могу построить проект на своей машине.Однако на сервере сборки я получаю следующую ошибку

CSC: ошибка CS1703: импортировано несколько сборок с одинаковым идентификатором: 'C: \ Jenkins \ jobs \ MyProject \ workspace \ packages \ System.Runtime.Extensions.4.1.0 \ lib \ net462 \ System.Runtime.Extensions.dll 'и' C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.6.2 \ Facades \ System.Runtime.Extensions.dll.Удалите одну из повторяющихся ссылок.

На сервере сборки также установлен пакет таргетинга .NET 4.6.2.Кроме того, на моем компьютере разработчика у меня также есть файл

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\System.Runtime.Extensions.dll

, а также все другие системные файлы фасада.

Итак, мой вопрос: почему это не удается на моем сервере сборки?Кажется, установлены все те же версии .NET, и я не уверен, что еще нужно проверить.

1 Ответ

0 голосов
/ 24 октября 2018

Я установил Visual Studio 2015 Update 3 на сервер сборки, и теперь проект собирается без проблем.К сожалению, я не совсем уверен, что именно из-за этого исправило ошибку.

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