【问题标题】:Excel DNA packing issueExcel DNA 包装问题
【发布时间】:2015-07-09 14:39:42
【问题描述】:

我正在尝试使用 ExcelDNApack.exe 将我的所有 dll 打包到 XLL 中,为此我使用以下命令及其为我生成的 pack xll 文件。

"$(SolutionDir)dependencies\Excel-DNA.0.32.0\tools\ExcelDnaPack.exe" 
"$(TargetDir)ExcelTrader-AddIn.dna" /Y

但是当我从没有依赖 dll 的文件夹中运行 xll 文件时,它会抛出异常“调用函数 OnLoad 时发生异常”。异常消息是无法加载文件或程序集 'OpenApiSecurityLib, version=1.0.0.0,Culture=neutral,PublicKeyToken=null'

我有一个引用 OpenAPISecurityLib.dll 和 OpenAPIClientLib.dll 的主项目 ExcelTrader.dll,我在 dna 文件中为这些 dll 和依赖项添加了 Reference 属性,并为 ExcelTrader.dll 添加了 ExternalLibrary 属性

如果我将 OpenAPISecurityLib.dll 和 OpenAPIClientLib.dll 放在与 xll 文件相同的文件夹中,则 XLL 文件运行良好

请提出我在这里做错了什么谢谢

<DnaLibrary Name="ExcelTrader Add-In" RuntimeVersion="v4.0">
  <Reference Path="Newtonsoft.Json.dll" Pack="true" />
  <Reference Path="NLog.dll" Pack="true" />
  <Reference Path="Microsoft.Practices.Unity.Configuration.dll" Pack="true" />
  <Reference Path="Microsoft.Practices.Unity.dll" Pack="true" />
  <Reference Path="Microsoft.Practices.Unity.RegistrationByConvention.dll" Pack="true" />
  <Reference Path="Microsoft.AspNet.SignalR.Client.dll" Pack="true" />
  <Reference Path="System.Threading.Tasks.Dataflow.dll" Pack="true" />
  <Reference Path="System.Net.Http.Formatting.dll" Pack="true"/>
  <Reference Path="OpenApiClientLib.dll"  Pack="true" />
  <Reference Path="OpenApiSecurityLib.dll"  Pack="true" />
  <ExternalLibrary Path="ExcelTrader.dll"  Pack="true" />

    <!-- Some images that can be used in the Ribbon ui -->
    <Image Name="Login" Path="Images\Login.gif" Pack="true" />
    <Image Name="LogOut" Path="Images\LogOut.png" Pack="true" />
    <CustomUI>
        <customUI xmlns='http://schemas.microsoft.com/office/2006/01/customui' loadImage='LoadImage' onLoad='OnLoad'>
            <ribbon>
                <tabs>
                    <tab id='CustomTab' label='Excel Trader'>
                        <group id='loginCtrl' label='Login Control'>
                            <button id='btnLogin' label='Login'  getEnabled='GetEnabled' image='Login' size='large' onAction='OnLogin' />
                            <button id='btnLogOut' label='LogOut'  image='LogOut' size='large' onAction='OnLogOut' />
                        </group >
                    </tab>
                </tabs>
            </ribbon>
        </customUI>
    </CustomUI>

</DnaLibrary>

【问题讨论】:

    标签: c# excel-dna


    【解决方案1】:

    我的问题得到了解决,我在输出“路径引用:System.Threading.Tasks.Dataflow.dll 和名称:未找到”中检查了这一点。在这个异常之后,其余的引用都被忽略了。

    在删除此 dll 的引用后,我检查了出现错误的 dll 引用在我们的项目中不再使用,一切正常。

    【讨论】:

    • 我面临着类似的问题。但我没有收到任何错误,Excel 只是无法识别我的功能。当我尝试使用“非打包”xll 时,一切正常。有什么方法可以让日志找出 Excel 不加载插件的原因?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多