[英]How to use external library in c# script having different namespace and dll
我想在CS脚本中使用novacode-docx。 我如何才能正确地参考组装。 我尝试了以下操作,但没有解决缺少程序集引用的问题。
//css_reference D:\lib\DocX.dll;
using System;
using System.Diagnostics;
using System.Windows.Forms;
class Script
{
[STAThread]
static public void Main(string[] args)
{
using (DocX doc = DocX.Create(@"C:\Users\name\Desktop\test.docx"))
{
doc.PageLayout.Orientation = Orientation.Landscape;
var table = doc.AddTable(12, 2);
doc.InsertTable(table);
doc.Save();
}
}
}
出于安全考虑,您不能引用类似的显式路径。 程序集必须放置在以下位置之一,并引用为//css_reference DocX.dll;
文件位置要加载的程序集必须来自以下位置之一(顺序指示程序集搜索优先级):
- 脚本所在的目录
- 默认脚本库目录脚本库(%CSSCRIPT_DIR%\\ Lib)
- 自定义脚本库目录(在配置控制台SearchDirs中指定)
- GAC
请参阅此处以获取更多信息: http : //www.csscript.net/help/using_.net_assemblies.html
将Docx.dll拖放到与CS脚本所在的文件夹相同的文件夹中,然后尝试以下操作:
//css_reference DocX.dll;
using System;
using System.Diagnostics;
using System.Windows.Forms;
using Novacode;
class Script
{
[STAThread]
static public void Main(string[] args)
{
using (DocX doc = DocX.Create(@"C:\Users\name\Desktop\test.docx"))
{
doc.PageLayout.Orientation = Orientation.Landscape;
var table = doc.AddTable(12, 2);
doc.InsertTable(table);
doc.Save();
}
}
}
你读过这个链接了吗
在Visual C#中添加引用在解决方案资源管理器中,右键单击项目节点,然后单击“添加引用”。 在“添加引用”对话框中,选择指示您要引用的组件类型的选项卡。 选择要引用的组件,然后单击“确定”。
没有VS:
转到csproj
文件,有一个<ItemGroup>
,可以在其中添加引用:
<ItemGroup>
<Content Include="libs\...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
...
在那里您可以添加库。
DocX似乎可以在NuGet上使用 ,因此我强烈建议从那里获取依赖关系,而不是将其保存在本地系统的文件中。 (这有助于确保可重复的构建,如果您要与其他人共享此代码以及打包应用程序的话,也可以使发布新版本的DocX升级变得更加容易。)
如果您使用的是Visual Studio,则可以在解决方案资源管理器中右键单击该项目,然后选择“管理NuGet软件包...”以打开一个对话框来帮助您安装该软件包,也可以打开“软件包管理器控制台”并输入Install-Package DocX
。
如果要在不带Visual Studio的.NET Core上进行构建,则只需将"DocX": "1.0.0.19"
到project.json的dependencies
节点。
安装该软件包后,您就可以using DocX;
就像任何其他名称空间导入一样。
两者都是使用docx所必需的。
//css_reference DocX.dll;
using Novacode;
您也可以参考任何地方,例如
//css_reference D:\lib\DocX.dll;
using Novacode;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.