【问题标题】:Visual Studio 2017 RC How to specify Publishing Options in the csproj fileVisual Studio 2017 RC 如何在 csproj 文件中指定发布选项
【发布时间】:2017-02-18 07:17:52
【问题描述】:

我一直在研究 VS2017 RC。

我最终想从 ASPNETCORE 项目中运行一个 react SPA 项目。为此,我所基于的模板是带有 project.json 文件的 VS2015 模板。

在 VS2015 project.json 文件中,我有两个项目通常不会出现在标准 ASPNETCORE 模板中。

我想包括的两件事如下:

 "publishOptions": {
"include": [
  "wwwroot",
  "web.config"
],
"exclude": [
  "node_modules",
  "**.xproj",
  "**.user",
  "**.vspscc"
  ]
},

  "scripts": {
    "prepublish": [
    "npm install",
    "node node_modules/webpack/bin/webpack.js --config    webpack.config.vendor.js",
    "node node_modules/webpack/bin/webpack.js"
],

关于您将其添加到 csproj 文件的位置,我已经看过很多次了。我曾尝试修改 csproj 文件,但在我这样做之后项目崩溃并最终出现各种错误和警告。

如何通过 VS2017 将这些添加到项目中?

如何在项目外部修改 csproj 文件而不会使项目崩溃。

【问题讨论】:

    标签: c# visual-studio-2017


    【解决方案1】:

    可以参考Project.json to MSBuild conversion guide

    脚本:

    {
      "scripts": {
        "precompile": "generateCode.cmd",
        "postpublish": [ "obfuscate.cmd", "removeTempFiles.cmd" ]
      }
    }
    
    <Target Name="MyPreCompileTarget" BeforeTargets="Build">
      <Exec Command="generateCode.cmd" />
    </Target>
    
    <Target Name="MyPostCompileTarget" AfterTargets="Publish">
      <Exec Command="obfuscate.cmd" />
      <Exec Command="removeTempFiles.cmd" />
    </Target>
    

    发布选项:

      "publishOptions": {
        "include": [
          "files/",
          "publishnotes.txt"
        ]
      }
    
    <ItemGroup> 
      <Content Include="files\**\*" CopyToPublishDirectory="PreserveNewest" />
      <None Include="publishnotes.txt" CopyToPublishDirectory="Always" />
      <!-- CopyToPublishDirectory = { Always, PreserveNewest, Never } -->
    </ItemGroup>
    

    我通常使用记事本或 notepad++ 编辑 .csporj 然后重新打开 Visual Studio 2017 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多