gpt4 book ai didi

.net - 错误 : Could not load the file or assembly 'ExcelAddIn1.XmlSerializers' or one of it's dependencies. 系统找不到指定的文件

转载 作者:行者123 更新时间:2023-12-04 15:47:30 26 4
gpt4 key购买 nike

我有一个 Excel 插件项目。它在我的电脑上运行良好。但是当我将它安装在客户端机器上时,它给了我我提到的错误消息。

  • 我已经使用项目-> 属性-> 发布发布了它。
  • 我勾选了“仅启用我的代码”。
  • 我已经清除了“找不到文件异常”的“抛出”和“用户未处理”的勾号
  • 我使用项目文件夹中“publish”文件夹中的“setup”文件在客户端上设置项目。
  • 在发布->先决条件中,我勾选了这些项目:

    .net 框架 sp1

    微软 .net 框架 4

    Microsoft Office 2007 主要互操作程序集

    适用于 Office 运行时的 Microsoft Visual Studio 2010 工具

    Windows 安装程序 4.5
  • 我正在使用 JSON。这是我类(class)的代码:
    [Serializable]
    [JsonObject(MemberSerialization.OptIn)]
    public class documentSchemaRestInfo
    {
    [System.Runtime.Serialization.DataMember]
    [JsonProperty]
    public double id { get; set; }
    [System.Runtime.Serialization.DataMember]
    [JsonProperty]
    public string name { get; set; }

    [System.Runtime.Serialization.DataMember]
    [JsonProperty]
    public string description { get; set; }

    [System.Runtime.Serialization.DataMember]
    [JsonProperty]
    public string[] fields { get; set; }
    }

    //**************************************************** ************
  • 使用该类的代码:
    public List<DocumentField> getSchemaOfGroup(documentGroupPk groupPK)
    {
    List<DocumentField> result = new List<DocumentField>();
    HttpWebRequest request = (HttpWebRequest)WebRequest.
    Create(ProxyFactory.baseAddress+"/services/rest/group/"
    + groupPK.id + "/schema");
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    StreamReader streamReader = new StreamReader(response.GetResponseStream());
    string responseBody = streamReader.ReadToEnd();

    dynamic ds = ((dynamic)JsonConvert.DeserializeObject(responseBody))
    .documentSchemaRestInfo;
    foreach (dynamic f in ds.fields)
    {
    result.Add(new DocumentField(
    f.name.ToString(),f.internalName.ToString(),false));
    }
    return result;
    }
  • 客户端计算机上安装了 Excel 2010。
  • 这是抛出异常的代码行:
       excelApp = (Excel.Application) 
    System.Runtime.InteropServices.Marshal.GetActiveObject
    ("Excel.Application");
  • 奇怪的是,当我按照以下步骤操作时它可以工作:
    在客户端上运行它并获得异常。
    在我自己的 PC 上运行它(没有异常发生)。
    在客户端计算机的应用程序上按下我制作的 Excel 功能区上的加载项按钮
    这次我没有任何异常(exception)!!
    我检查了很多次。每次我按照这个顺序它工作正常!

  • 11.
    This is the stack trace of the exception

    非常感谢。

    编辑:
    12. 我的应用程序是这样工作的:
    用户第一次单击功能区上的我的按钮时,会出现登录表单,
    如果他获得授权,他所要求的表格就会出现。
    下一次只出现询问的表格。
    并且异常仅在第一次点击时发生。
    这是我的代码:
    (最后一行没有出现异常,
    但第 7 行的情况并非如此)
                1.//If there is no ticket, means we haven't had a successfull login yet.=> 
    2.// We should show the login form instead of groups form.
    3.if (string.IsNullOrEmpty(ProxyFactory.ticket))
    4.{
    5. okOrCancel = new LoginForm().ShowDialog();
    6. if (okOrCancel == DialogResult.OK)
    7. new GroupsForm().ShowDialog();
    8.}
    9.//If the is a ticket, means we have had a successful login.
    10.else
    11. new GroupsForm().ShowDialog();

    最佳答案

    仅查看代码 spinets 有点令人困惑,但从问题的标题我可以猜测您在动态创建序列化程序集(安全问题或部分信任问题)方面遇到了问题。您可以通过转到项目属性/构建并从列表中选择关闭来尝试将 Addin dll 中的“生成序列化程序集”关闭。

    关于.net - 错误 : Could not load the file or assembly 'ExcelAddIn1.XmlSerializers' or one of it's dependencies. 系统找不到指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8327396/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com