3

我正在尝试发布一个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/"
  }
}
4

1 回答 1

3

您需要publishOptions像这样在 project.json 中添加部分:

"publishOptions": {
    "include": [
        "wwwroot",
        "Views",
        "web.config",
        "appsettings.json",
        "appsettings.*.json",
        "..."
    ]
}
于 2016-08-29T09:55:58.920 回答