Я должен был сделать именно то, что говорится в сообщении об ошибке. При переходе с RC1 я не осознавал, что мне нужно было указать runtimes
раздел в моем project.json
файле.
По моему project.json
я добавил следующий раздел:
"runtimes": {
"win10-x64": { }
}
И мне было хорошо идти.
Обновление 27 февраля 2017
Новые шаблоны проектов в Visual Studio 2017 RC больше не требуют предварительного указания времени выполнения (в project.json
или .csproj
), если вы решили развернуть свое приложение как Framework Dependent Deployment
(FDD).
Однако, если вы решите развернуть свое приложение с помощью Self-contained Deployment
(SCD), вам нужно будет заранее указать в своем .csproj
файле все времена выполнения, которые вы хотите, чтобы ваше приложение запускало .
Ниже приведен пример .csproj
файла для приложения, использующего метод развертывания SCD:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
<VersionPrefix>1.0.0</VersionPrefix>
<DebugType>Portable</DebugType>
<RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
</ItemGroup>
</Project>
Пожалуйста, смотрите эту ссылку для получения дополнительной информации, которая включает в себя подробное описание обоих типов вариантов развертывания, а также их преимущества и недостатки.
Я получил эту ошибку после обновления основного шаблона VS2015 до 1.0.1. Это потому, что у меня есть PCL, который предназначен,
netstandard 1.4
если вы не хотите указывать каждую среду выполнения, просто измените разметку зависимости наMicrosoft.NETCore.App
:источник
в project.json я изменил это (добавил тип):
Теперь я могу построить снова :-)
обновление: теперь я могу строить заново, но не "запускать" сайт.
Вы должны убедиться, что у вас есть среда выполнения и SDK:
https://www.microsoft.com/net/download/core#/current
источник
Я получил эту ошибку, потому что использовал обновленный менеджер пакетов NuGet в Visual Studio 2015, чтобы обновить свои зависимости project.json. Оказалось так:
в это:
Пока, определение платформы!
источник
Если вы читаете эти две ссылки:
Во-первых, https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
и
во-вторых, https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Вы увидите, что вы можете создать полностью переносимую версию, используя следующий фрагмент в корневом элементе зависимостей в project.json. Нет необходимости указывать время выполнения, так как это время выполнения уровня CORE, которое не зависит от платформы или известно как «Зависит от платформы»
или вы можете создать для нескольких целевых платформ («автономных приложений»), удалив элемент type: platform, например так:
Добавьте это к корневому элементу зависимостей в project.json
и добавить это как новый элемент корневого уровня
Для нескольких целей требуется указать имена платформ, известные как «.NET Core Runtime IDentifiers (RID)». Список их можно найти по второй ссылке выше. Он включает в себя множество разновидностей Windows, Linux и OS X.
Для хорошего обзора различных вариантов развертывания вы также можете прочитать эту страницу:
https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
Из приведенной выше ссылки:
источник
В моем случае я только что обновил все пакеты nuget до их последних версий, а nuget изменил ссылку на мой пакет Microsoft.NETCore.App на следующую:
Я изменил его обратно на следующую форму, и все работало нормально:
До свидания 3 часа моей жизни ....
источник
если вы выполните dotnet new и посмотрите на выходной проект json, вы увидите, что названия изменились.
Внесите изменения в ваш project.json следующим образом:
источник
Я нашел одну полезную ссылку из комментария svick под следующей страницей: https://github.com/dotnet/cli/issues/2442
источник
Я нашел, что вам нужно следующее в project.json. Вот что требовалось исправить мою ошибку:
зависимости
Каркасы
время выполнения
Возможно, вы захотите добавить среды выполнения, если вы планируете публикацию в IIS. Пожалуйста, смотрите что-то следующее:
Вот общий совет, который хорошо сработал для меня. Когда мои вещи ломаются, я иногда создаю приложение ASP.NET Core по умолчанию либо на веб-сайте, либо на пустом веб-интерфейсе API, чтобы посмотреть на зависимости в project.json и других местах. Таким образом вы часто можете поймать много вещей. Приведенные выше ответы точны, но я подумал, что напишу это здесь на случай, если кто-то захочет отделить логику от общего формата шаблона, который использует ASP.NET Core.
источник
В Windows 7 с VS 2015 решение после обновления до netcore 1.1.2 меняло файл project.json следующим образом:
После изменения этой зависимости обновятся и альты.
источник