2017-01-28 1 views
0

У меня есть машина с установленным .NET Core 1.1.0 1.0.0-preview2-1-003182, а также VisualStudio 2017 RC. Когда я создаю проект, используя «dotnet new -t Console», для него требуется файл project.json. Когда я создаю .NET Core ConsoleApp в Visual Studio 2017, для конфигурации сборки требуется .csproj. Что это определяет? Я хотел бы иметь тот или иной, желательно согласованный .csproj, поскольку project.json устарел для будущих версий, насколько я могу судить.Что определяет, использует ли ядро ​​.net.csproj или project.json

VisualStudio 2017 RC, похоже, не будет создавать автономный исполняемый файл, поэтому я вернусь к командной строке, чтобы попытаться опубликовать «dotnet publish -t win10-x64», из-за чего я получаю сообщение об ошибке, что нет project.json , Итак, даже если у меня есть .csproj, настроенный для сборки .exe, я не могу просто его создать.

+0

Скотт Hanselman сделал пост, http://www.hanselman.com/blog/ WorkingWithMultipleNETCoreSDKsBothProjectjsonAndMsbuildcsproj.aspx больше информации, чем ответ ниже. –

ответ

2

Версии инструменты .NET Ключевой причина:

  • .csproj используется, начиная с .NET Core Tools Preview 3

    Примечания: Visual Studio 2017 RC устанавливает .NET Основные инструменты Preview 3 (или даже Preview 4 Теперь).

  • project.json используется в предыдущих версиях.

Если вы хотите знать, с версией .NET Tools Ключевых используется затем перейдите к папке проекта корня и запустить следующую команду:

dotnet --info 

Возможный выход:

.NET Command Line Tools (1.0.0-preview2-1-003177) 

Product Information: 
Version:   1.0.0-preview2-1-003177 
Commit SHA-1 hash: a2df9c2576 

Runtime Environment: 
OS Name:  Mac OS X 
OS Version: 10.12 
OS Platform: Darwin 
RID:   osx.10.12-x64 

Если у вас есть более одной версии .NET Core Tools на вашем компьютере, которую вы можете напрямую указать с помощью версии, которая должна использоваться для вашего проекта global.json. Создайте (если не существует) этот файл в корневой папке и добавьте раздел «sdk». Например, для инструментов Preview 2:

{ 
    ... 
    "sdk": { "version": "1.0.0-preview2-1-003177" } 
} 

Также вы можете использовать dotnet-migrate команду, чтобы преобразовать ваш project.json в .csproj

+0

Я могу преобразовать свой .csproj в project.json? – Szymson

Смежные вопросы