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

Я обновил DNVM с помощью dnvm upgrade -Unstable. Запуск dnvm list показывает, что он активен: 1.0.0-beta6-12120.

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

Я изменил project.json на ссылку beta6:

"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 '*************************************' 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" на желаемую версию среды выполнения. Это устанавливает значения по умолчанию для всех проектов и может быть переопределено на уровне проекта ниже.

ИЛИ

Задайте требуемое время выполнения для проекта

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

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

licensed under cc by-sa 3.0 with attribution.