使用project.json

时间:2017-01-24 11:53:28

标签: c# asp.net-core nuget

我正在使用此.nuspec文件生成nuget包。

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>ClassLibrary1</id>
    <version>1.0.0</version>
    <title>Title</title>
    <authors>Author</authors>
    <owners>Owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Description</description>
    <copyright>Copyright 2017</copyright>
    <contentFiles>
      <files include="any/any/myfile.xml" buildAction="None" copyToOutput="true" flatten="true" />
    </contentFiles>
  </metadata>
</package>

在构建引用此nuget包的项目时使用此配置,内容文件将被复制到输出文件夹。 现在我将我的项目转换为.Net核心项目,我想使用project.json生成nuget包并删除.nuspec文件。 这是我的project.json

{
  "version": "1.0.0-*",
  "dependencies": { },
  "frameworks": {
    "net452": {
    }
  },
  "packOptions": {
    "files": {
      "mappings": {
        "contentFiles/any/any/myfile.xml":  "Configuration/myfile.xml"
      }
    }
  },

  "scripts": {
    "postcompile": [
      "dotnet pack --no-build --configuration %compile:Configuration%"
    ]
  }
}

现在的问题是,在构建引用此nuget包的项目时,它也会尝试编译内容文件。构建失败了。 如何从编译中排除contentFile?

2 个答案:

答案 0 :(得分:1)

  

由于脚本和转换的类似原因,目前禁止支持内容,但我们正在设计内容支持。

这是来自官方的nuget文档页面。您可以找到信息here

答案 1 :(得分:1)

您无法在ASP.NET核心包中添加内容。您可以使用bower / npm包来代替使用内容。