首页 > 解决方案 > 如何用nuget导出文件?

问题描述

我有一个使用我有许可证的 Apose.PDF 包的 nuget 包。许可证放在一个名为 Aspose.Total.lic 的单独文件中,位于同一文件夹中。文件夹结构是这样的。

Project
  -PDFReader.cs
  -Aspose.Total.lic

PDFReader.cs 具有以下代码来读取许可证:

    static PDFReader()
    {
        var license = new License();
        license.SetLicense("Aspose.Total.lic");
    }

所有这些在本地都可以正常工作。但是,当我将代码导出到 Nuget 包并使用另一个程序中的包时,我会遇到无法找到“Aspose.Total.lic”的异常复制文件的内容并将其作为 SetLicense 的参数不起作用,它需要一个文件。现在的问题是,在打包 nuget 包时,我如何以及可能在哪里导出文件?这是我的 nuspec 文件(一些代码被缩写):

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
  <metadata>
    <id>XYZ</id>
    <version>1.3.7</version>
    <summary />
     <dependencies>
      <dependency id="Aspose.PDF" version="18.10.0" />
    </dependencies>
    <frameworkAssemblies>
      <frameworkAssembly assemblyName="System" />
      <frameworkAssembly assemblyName="System.Data" />
    </frameworkAssemblies>
  </metadata>
  <files>
    <file src="XYZ\bin\Release\XYZ.dll" target="lib\net47\XYZ.dll" />
    <file src="XYZ\Aspose.Total.lic" target="lib\Aspose.Total.lic" />
  </files>
</package>

我的猜测是该文件的目标位置是错误的。

标签: c#

解决方案


NuGet 自动公开 3 个文件夹,lib用于 dll、toolspowershell 脚本和content其他内容。(我想 - 已经有一段时间了)

尝试改变:

<files>
  <file src="XYZ\bin\Release\XYZ.dll" target="lib\net47\XYZ.dll" />
  <file src="XYZ\Aspose.Total.lic" target="lib\Aspose.Total.lic" />
</files>

至 :

<files>
  <file src="XYZ\bin\Release\XYZ.dll" target="lib\net47\XYZ.dll" />
  <file src="XYZ\Aspose.Total.lic" target="content\Aspose.Total.lic" />
</files>

推荐阅读