Построить шаблон для ASP.NET ядро (.NET 4.6.2)

На VSTS я пытаюсь определить определение сборки для моего ASP.NET основное приложение, предназначенное для .NET Framework 4.6.2

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

Введите описание изображения здесь

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

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

— ASP.NET основное приложение (таргетинг на .NET 4.6.2)

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

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

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

Введите описание изображения здесь

ОБНОВЛЕНИЕ:
Я попытался следовать этой статье, которая действительно для ASP.NET решение, построенное на .Net Core.

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

Тем не менее, я получаю ошибку на Шаге 2: восстановление dotnet:

Errors in C:a

On VSTS, I'm trying to define a build definition for my ASP.NET Core app targeting .NET Framework 4.6.2

I see these two templates on VSTS Build but not sure what the difference between the two is and which one I should use.

enter image description here

I tried both and got different errors. Which build template is a good start for me? My app currently is a very simple "Hello World" app but it does have a couple of class library projects in it. I did that to simulate what my app will look like when I'm done.

So, my solution looks like this:

-- ASP.NET Core app (Targeting .NET 4.6.2)

-- Class Library 1 (Targeting .NET 4.6.2)

-- Class Library 2 (Targeting .NET 4.6.2)

Both class libraries are the classic type -- see below

enter image description here

UPDATE: I tried following this article which is really for an ASP.NET solution built on .Net Core.

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

However, I'm getting the error in Step 2: dotnet restore:

Errors in C:a1sDevsrcMyProjectproject.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'

What modifications do I need to make so that I can apply these steps to my project?

UPDATE 2:
Here's my project.json file

{
  "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:
This is the current set of tasks in the build definition. This is directly from ASP.NET Build (PREVIEW) except I removed the test step and changed the NuGet version to 3.5.0 - build 1938 (rc2). Also, the MSBuild arguments are follows:

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

enter image description here

sDevsrcMyProjectproject.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'

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

Обновление 2:
Вот мой проект.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%" ]
  }
}

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

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

Введите описание изображения здесь

1 ответ

  1. Команда dotnet restore не может восстановить зависимость локального проекта. Дополнительные сведения см. В этом разделе.

    Мой шаг:

    1. Создание определения сборки с помощью ASP.NET шаблон сборки (предварительный просмотр)
    2. Изменение версии nugget на 3.5.0
      Введите описание изображения здесь

    Примечание: размещенный агент сборки включает в себя .Net Core 1.0 с Preview 2 Tooling, поэтому необходимо использовать соответствующую версию SDK.

    глобальный.формат JSON:

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