Команда публикации для проекта ASP.NET Core включает только файлы DLL

Я пытаюсь опубликовать проект ASP.NET Core 1.0, чтобы позже иметь возможность развернуть его в Azure (или других средах размещения).

Моя структура папок выглядит следующим образом (не уверен, имеет ли это значение):

|_Root
  |_Foo
    |_Bar -> contains project.json

Из корневой папки я запускаю команду публикации следующим образом:

dotnet publish Foo/Bar -o artifacts\FooBarOutput --configuration Release

Это создает папку с выводом из publish команда, но она содержит только сборки (файлы DLL) и папку с именем refs содержащие ссылочные сборки.

Мой вопрос: как мне создать полный пакет публикации, включая все статические ресурсы, такие как HTML, JavaScript, CSS, файлы конфигурации и т. Д.?

Я что-то упустил в своем project.json файл или некоторые параметры для publish команда? Должно быть, я что-то упустил, но я думаю, что должен быть какой-то способ указать, что src папка и т.д. должна быть включена в вывод?

мой project.json файл выглядит следующим образом:

{
  "title": "My Web App",
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true,
    "preserveCompilationContext": true, 
    "compile": {
      "exclude": [ "bin/**", "obj/**", "node_modules/" ]
    }
  },
  "dependencies": {
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "System.IO.FileSystem": "4.0.1"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0"
      },
      "imports": "dnxcore50"
    }
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:8000/"
  }
}

1 ответ

Решение

Вам нужно добавить publishOptions раздел в вашем project.json вот так:

"publishOptions": {
    "include": [
        "wwwroot",
        "Views",
        "web.config",
        "appsettings.json",
        "appsettings.*.json",
        "..."
    ]
}
Другие вопросы по тегам