На VSTS, я пытаюсь определить определение построения для моего ASP.NET ядра приложения таргетинга .NET Framework 4.6.2Построить Шаблон для ASP.NET Ядра (.NET 4.6.2)
Я вижу эти два шаблона на VSTS Build, но не уверены, какая разница между ними и какой из них я должен использовать.
Я пытался как и получил различные ошибки. Какой шаблон сборки является хорошим началом для меня? Мое приложение в настоящее время очень простое приложение «Hello World», но в нем есть несколько проектов библиотеки классов. Я сделал это, чтобы смоделировать то, как будет выглядеть мое приложение, когда закончите.
Итак, мое решение выглядит следующим образом:
- ASP.NET Ядро приложения (Таргетинг .NET 4.6.2)
- Библиотека классов 1 (таргетинг .NET 4.6.2)
- Библиотека классов 2 (таргетинг .NET 4.6.2)
Обе библиотеки классов являются классическим типом - смотри ниже
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)\\"
Основываясь на сообщении об ошибке, ошибка в project.json. Добавьте подробный код вашего проекта.json. Добавили ли вы ссылки на ClassLibrary1 и ClassLibrary2 на основной проект .net? Целевая структура несовместима, как вы добавили ссылки. –
Просто добавлен файл project.json в исходное сообщение. Это приложение ASP.NET Core, но оно предназначено для полной .NET Framework. Я добавил проекты через «Ссылки», а Visual Studio автоматически добавила их в project.json. – Sam
Как вы создали таргетинг проекта .Net Core в 4.6.2, файл project.json, который вы предоставили, не работает на моей стороне. –