Веб-проект ASP.NET 5 (vNext): обновление конфликта библиотек с бета4 до бета6

Я обновил DNVM с dnvm upgrade -Unstable, Бег dnvm list показывает, что это активно: 1.0.0-бета6-12120.

Я создал новый проект, используя шаблон предварительного просмотра ASP.NET 5 для веб-сайта, и убедился, что он будет создан.

Я изменил project.json для ссылки на бета6:

"dependencies": {
  "EntityFramework.SqlServer": "7.0.0-beta6",
  "EntityFramework.Commands": "7.0.0-beta6",
  "Microsoft.AspNet.Mvc": "6.0.0-beta6",
  "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta6",
  "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta6",
  "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta6",
  "Microsoft.AspNet.Authentication.Google": "1.0.0-beta6",
  "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta6",
  "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta6",
  "Microsoft.AspNet.Diagnostics": "1.0.0-beta6",
  "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta6",
  "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta6",
  "Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
  "Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
  "Microsoft.AspNet.StaticFiles": "1.0.0-beta6",
  "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta6",
  "Microsoft.Framework.Configuration.Json": "1.0.0-beta6",
  "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta6",
  "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta6",
  "Microsoft.Framework.Logging": "1.0.0-beta6",
  "Microsoft.Framework.Logging.Console": "1.0.0-beta6"
}

Но сборка завершается неудачно из-за конфликтов библиотеки времени выполнения:

1>MSBUILD : DNX 4.5.1 error CS0433: The type 'AssemblyFileVersionAttribute' exists in both 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 1>MSBUILD : DNX 4.5.1 error CS0433: The type 'AssemblyVersionAttribute' exists in both 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 1>MSBUILD : DNX 4.5.1 error CS0433: The type 'AssemblyInformationalVersionAttribute' exists in both 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.String' is not defined or imported 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.String' is not defined or imported 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.String' is not defined or imported 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.Void' is not defined or imported 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.Void' is not defined or imported 1>MSBUILD : DNX 4.5.1 error CS0518: Predefined type 'System.Boolean' is not defined or imported

Как это можно решить?

2 ответа

Решение

beta6-*

В ваших файлах project.json попробуйте использовать beta6-* вместо просто beta6, Это означает, что он будет ссылаться на самую последнюю его сборку.

~.dnx \ Время автономной работы

Проверьте, какие каталоги времени выполнения находятся в C:\Users\MyUser\.dnx\runtimes, Мои включают в себя следующее:

dnx-clr-win-x86.1.0.0-beta6          <-- I made this one via a rename.
dnx-clr-win-x86.1.0.0-beta6-12085
dnx-clr-win-x86.1.0.0-beta6-12120

В моем global.json файл, который находится в том же каталоге, что и *.sln, Я обязательно ссылаюсь на одну из сред выполнения, как это:

{
    "projects": [ "src", "test" ],
    "sdk": {
        "version": "1.0.0-beta6-12120"
    }
}

Если сборка из командной строки:

Из командной строки сделайте dnu restore, Это приведет к обновлению разрешения зависимостей. Практически каждый раз, когда вы меняете среду выполнения, либо обновляя ее, либо переключая активную среду выполнения, я делаю восстановление.

Если здание из визуальной студии:

Visual Studio использует свойство sdk, чтобы определить, какое время выполнения использовать при сборке и восстановлении. Это может отличаться от времени выполнения, установленного активным dnvm. Установка активной среды выполнения в dnvm не меняет среду выполнения, используемую IDE. Установка цели в VS не меняет активного времени выполнения в командной строке.

Чтобы изменить среду выполнения, используемую Visual Studio, либо:

Установите минимальную версию dnx для всего решения.

Отредактируйте global.json (файл уровня решения) вручную. Установите или измените значение для "sdk" на желаемую версию среды выполнения. Это устанавливает значения по умолчанию для всех проектов и может быть переопределено на уровне проекта ниже.

ИЛИ ЖЕ

Установите желаемое время выполнения для проекта

Щелкните правой кнопкой мыши проект> Свойства> Приложение

Проверьте Use specific DNX version, Установите желаемую версию, платформу и архитектуру.

Другие вопросы по тегам