0

我想在 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();
        }
    }
}
4

4 回答 4

2

出于安全原因,您不能引用这样的显式路径。组件必须放置在以下位置之一并引用为//css_reference DocX.dll;

文件位置 要加载的程序集必须来自以下位置之一(顺序表示程序集搜索优先级):

  • 脚本所在的同一目录
  • 默认脚本库目录 脚本库 (%CSSCRIPT_DIR%\Lib)
  • 自定义脚本库目录(在配置控制台 SearchDirs 中指定)
  • 广汽

有关更多信息,请参见此处: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();
        }
    }
}
于 2016-06-06T10:43:42.090 回答
1

你读过这个链接吗

在 Visual C# 中添加引用 在解决方案资源管理器中,右键单击项目节点并单击添加引用。在“添加引用”对话框中,选择指示要引用的组件类型的选项卡。选择要引用的组件,然后单击“确定”。

没有VS:

转到csproj文件有一个<ItemGroup>可以添加引用的位置:

<ItemGroup>
    <Content Include="libs\...">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
...

在那里你可以添加库。

于 2016-06-06T10:33:46.973 回答
1

DocX 似乎在 NuGet 上可用,因此我强烈建议从那里获取依赖项,而不是将其放在本地系统上的文件中。(这有助于确保可重复构建,如果您与其他人共享此代码,打包您的应用程序,并且如果发布了新版本,它还将使升级 DocX 变得更容易。)

如果您使用的是 Visual Studio,您可以在解决方案资源管理器中右键单击项目并选择“管理 NuGet 包...”以打开帮助您安装包的对话框,或者您可以打开包管理器控制台并输入Install-Package DocX.

如果您在没有 Visual Studio 的情况下在 .NET Core 上构建,只需添加"DocX": "1.0.0.19"dependenciesproject.json 的节点。

安装包后,您可以using DocX;像使用任何其他命名空间导入一样进行操作。

于 2016-06-06T10:34:19.710 回答
0

两者都需要才能使用 docx。

//css_reference DocX.dll;
using Novacode;

您还可以参考任何地方,例如

//css_reference D:\lib\DocX.dll;
using Novacode;
于 2016-06-06T11:22:48.340 回答