.NET 库项目与 FrameWork 4.7.2,仅在我的电脑上和运行编译项目时不起作用

问题描述

我有一个 .NET 库项目 witt FrameWork 4.7.2,我遇到的问题是“仅在我的电脑上运行编译的项目(DLL)时,它会向我抛出以下错误消息”--> “失败并显示以下消息:未将对象引用设置为对象的实例。”

这个项目在 Navision BC 14 中作为插件安装,但它仍然是 .NET 中的一个库,一个带有函数的 DLL。

所以,我认为我在调用 system.xml.dll .dll 时遇到了问题,并且一旦项目被编译,它就不会调用我使用的 System.xml.dll 的正确版本。

我想要的是:

为了能够强制我的项目,只使用引用的 (.DLL) 库。

现在我把我一直在做的测试和案例简单地说一下:

不工作

  • 在我的机器上作为 Add-in Navision 安装

如果它适用

  • .NET 项目的调试模式

  • 将应用程序生成为 .exe(程序)并将其从我的 PC 中弹出。

  • 其他机器,如 Navision Add-in 也能工作。

  • 如果我取消对 system.xml.dll 库的调用(这正是我需要的开发功能......创建并数字签名 XML。)。

    XmlDocument doc = new XmlDocument(); doc.Load(xmldata);

整个代码是:

        var xmldata = _XMLFacturae.XMLDIR + _XMLFacturae.XMLNAME;
        string text = File.ReadAllText(xmldata);
        text = text.Replace("<Facturae","<fe:Facturae xmlns:ds='http://www.w3.org/2000/09/xmldsig#' xmlns:fe='http://www.facturae.es/Facturae/2014/v3.2.1/Facturae'");
        text = text.Replace("</Facturae","</fe:Facturae");
        File.WriteallText(xmldata,text);
        XmlDocument doc = new XmlDocument();
        doc.Load(xmldata);

为了让它在我的机器上运行而没有成功的事情:

  • 重新安装框架。
  • disM.exe / Online / Cleanup-image / Restorehealth
  • sfc / scanNow

在项目中:

  • References / copy = true of system.xml.dll

  • 添加 appconfig

    <runtime>
      <assemblyBinding xmlns = "urn: schemas-microsoft-com: asm.v1">
        <dependentAssembly>
          <probing privatePath = "bin \ Debug \ libs \" />
    

Como "Reference / copy local = TRUE",我将DLLS、相对地址复制并粘贴到目录到“bin\Debug\libs”

  • 与之前相同,但将 DLL 从 system.xml.dll 重命名为 system.xml2.dll
  • 把电脑扔出窗外 XD,不是开玩笑。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)