c# - 如何用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>
我的猜测是该文件的目标位置是错误的。
解决方案
NuGet 自动公开 3 个文件夹,lib
用于 dll、tools
powershell 脚本和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>
推荐阅读
- regex - 在 Apache 2.4 中使用 REQUEST_URI 和 ap_expr 设置 Header
- javascript - 在 Javascript 中实现多线程合并排序的问题
- ms-access - 根据 Access 中的是/否答案将多个数字字段添加在一起
- javascript - TypeError:试图分配给只读属性。【批量写入、云火库】
- php - 如何提高查询大量数据的 Laravel 页面的速度
- python - 使用隐藏表单时如何克服机械化中的 ItemsNotFoundError
- ember.js - 如何对具有带有 ember 数据的纯字符串数组的对象进行建模?
- amazon-web-services - s3 跨账户策略 - 操作不适用于任何资源错误
- python - 将输入传递给函数以获取预测
- c - 如何在C中返回指向字符串数组的指针