我想在cs-script中使用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();
}
}
}
答案 0 :(得分:2)
出于安全原因,您无法引用类似的显式路径。必须将程序集放置在以下位置之一并引用为//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();
}
}
}
答案 1 :(得分:1)
您是否已阅读此link
在Visual C#中添加引用 在Solution Explorer中,右键单击项目节点,然后单击Add Reference。 在“添加引用”对话框中,选择指示要引用的组件类型的选项卡。 选择要引用的组件,然后单击“确定”。
没有VS:
转到csproj
文件,可以添加引用<ItemGroup>
:
<ItemGroup>
<Content Include="libs\...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
...
你可以添加库。
答案 2 :(得分:1)
DocX seems to be available on NuGet,所以我强烈建议从那里获取依赖项,而不是将它放在本地系统的文件中。 (这有助于确保可重复的构建,如果您与其他人共享此代码,打包应用程序,并且如果发布新版本,还可以更轻松地升级DocX。)
如果您正在使用Visual Studio,则可以在解决方案资源管理器中右键单击该项目,然后选择&#34;管理NuGet包...&#34;打开一个帮助您安装软件包的对话框,或者打开软件包管理器控制台并输入Install-Package DocX
。
如果您在没有Visual Studio的情况下在.NET Core上构建,只需将"DocX": "1.0.0.19"
添加到project.json的dependencies
节点。
安装软件包后,您可以像任何其他名称空间导入一样using DocX;
。
答案 3 :(得分:0)
两者都需要使用docx。
//css_reference DocX.dll;
using Novacode;
你也可以参考像
这样的地方//css_reference D:\lib\DocX.dll;
using Novacode;