添加到外部 DLL 的新函数不适用于 ExcelDNA

New functions added to external DLL do not work with ExcelDNA

我正在尝试找出原因,returned 到我的 ExcelDNA 项目,该项目引用我单独的 C# DLL 与远程 ActivePivot 进行通信,当我向 DLL 添加新函数时,它们只是 return #值!似乎找不到更多信息。

如果我分离出 ExcelDNA 部分,并使用那里的方法,一切都有效。如果我在我的新 ExcelDNA 函数中调用单独 DLL 中的现有函数,它可以工作,但是如果我添加一个新函数,它就会失败。我只是尝试在 DLL (return 1+1) 中添加一个非常简单的函数,但它失败了。

还有其他人见过这种 VisualStudio 行为吗? ExcelDNA 和 DLL 是在较旧的 Visual Studio 中构建的,而这个 'feels' 就像某种 IDE / 构建怪异! :S

我不认为它真的是 ExcelDNA,尽管我添加了那个标签以防它被那个社区看到。

我将尝试 copy/pasting 我的代码到一个新的 DLL 并构建它。

谢谢

下面是两个失败的新简单方法(Test() 和 QueryA(..)),以及一个有效的大立方体查询的开始(Query(....))。如果复制工作查询方法并赋予新名称,这也会失败。

public static Int32 Test()
{
    return 1 + 1;
}

//Called by users of this DLL E.g. ExcelDNA xll, Unity etc.
public static Object QueryA(String connectionString,
                            String cube)
{
    return "LATEST";
}

    //Called by users of this DLL E.g. ExcelDNA xll, Unity etc.
    public static Object Query(String connectionString,
                            String cube,
                            String date,
                            String epoch,
                            Object[] dimensions, Object[,] dimensionFilters,
                            Object[] measures, Object[,] measureFilters,
                            Object[] whereItems, Object[,] whereFilters,
                            String orderBy,
                            Boolean repeatValues,
                            Boolean totals,
                            Boolean debug)
{

感谢阅读并感谢布拉德利的评论。

似乎 Visual Studio 项目已损坏,因为我创建了一个全新的项目,copy/pasted 将代码放入新的 类 并使用最新的 ExcelDNA Nuget 包,现在我明白了ExcelDNA 和我的其他 DLL 的预期行为。