2016-11-07 1 views
0

На VSTS, я пытаюсь определить определение построения для моего ASP.NET ядра приложения таргетинга .NET Framework 4.6.2Построить Шаблон для ASP.NET Ядра (.NET 4.6.2)

Я вижу эти два шаблона на VSTS Build, но не уверены, какая разница между ними и какой из них я должен использовать.

enter image description here

Я пытался как и получил различные ошибки. Какой шаблон сборки является хорошим началом для меня? Мое приложение в настоящее время очень простое приложение «Hello World», но в нем есть несколько проектов библиотеки классов. Я сделал это, чтобы смоделировать то, как будет выглядеть мое приложение, когда закончите.

Итак, мое решение выглядит следующим образом:

- ASP.NET Ядро приложения (Таргетинг .NET 4.6.2)

- Библиотека классов 1 (таргетинг .NET 4.6.2)

- Библиотека классов 2 (таргетинг .NET 4.6.2)

Обе библиотеки классов являются классическим типом - смотри ниже

enter image description here

UPDATE: Я попытался выполнить эту статью, которая действительно предназначена для решения ASP.NET, построенного на .Net Core.

https://www.visualstudio.com/en-gb/docs/build/apps/aspnet/aspnetcore-to-azure

Однако я получаю сообщение об ошибке в шаге 2: DotNet восстановление:

Errors in C:\a\1\s\Dev\src\MyProject\project.json 
2016-11-07T17:17:33.3792225Z  Unable to resolve 'ClassLibrary1' for '.NETFramework,Version=v4.6.2'. 
2016-11-07T17:17:33.3792225Z  Unable to resolve 'ClassLibrary2' for '.NETFramework,Version=v4.6.2' 

Какие изменения мне нужно сделать так, чтобы я мог применить эти шаги для моего проекта?

UPDATE 2: Вот мой project.json файл

{ 
    "dependencies": { 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Routing": "1.0.1", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" 
    }, 

    "tools": { 
    "BundlerMinifier.Core": "2.0.238", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "net462": { 
     "dependencies": { 
     "ClassLibrary1": { 
      "target": "project" 
     }, 
     "ClassLibrary2": { 
      "target": "project" 
     } 
     } 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

UPDATE 3: Это текущий набор задач в определении сборки. Это прямо из ASP.NET Build (PREVIEW), за исключением того, что я удалил тестовый шаг и изменил версию NuGet на 3.5.0 - build 1938 (rc2). Кроме того, аргументы MSBuild являются следующие: команды

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\" 

enter image description here

+0

Основываясь на сообщении об ошибке, ошибка в project.json. Добавьте подробный код вашего проекта.json. Добавили ли вы ссылки на ClassLibrary1 и ClassLibrary2 на основной проект .net? Целевая структура несовместима, как вы добавили ссылки. –

+0

Просто добавлен файл project.json в исходное сообщение. Это приложение ASP.NET Core, но оно предназначено для полной .NET Framework. Я добавил проекты через «Ссылки», а Visual Studio автоматически добавила их в project.json. – Sam

+0

Как вы создали таргетинг проекта .Net Core в 4.6.2, файл project.json, который вы предоставили, не работает на моей стороне. –

ответ

0

Dotnet восстановления не может восстановить локальную зависимость проекта. Дополнительную информацию можно найти в разделе this темы.

Мои шаги:

  1. Создать определение сборки с ASP.NET сборки (PREVIEW) шаблон
  2. Изменить самородок версия для 3.5.0 enter image description here

Примечание: Размещенный Сложение Агент включает .Net Core 1.0 с помощью инструмента «Предварительный просмотр 2», поэтому вам нужно использовать соответствующую версию SDK.

global.json:

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-preview2-003121" 
    } 
} 
+0

Я вообще использую .Net Core 1.0? Все проекты в решении используют полную .Net Framework 4.6.2 – Sam

+0

Все еще даю мне ту же ошибку в восстановлении dotnet, то есть не удается разрешить библиотеки классов. – Sam

+0

@Sam Dotnet restore не может восстановить локальную ссылку на проект, используя Nuget 3.5, может решить эту проблему. Я обновил свой ответ. –

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

  • Нет связанных вопросов^_^