申请许可

时间:2014-03-28 18:25:04

标签: c# windows winforms

我们有一个应用程序从本地文件中读取xml文件(即c:\ Temp \ Imports

当我们在visual studio中运行应用程序时,在调试模式下,文件是正常读取的,但是当我们部署和安装应用程序时,它不会读取,并且没有错误,没有例外。

所有这些都发生在Windows 8.1

任何人都遇到过这种情况。

xmlSerializer = new XmlSerializer(typeof(List<Common.CCeEntityClientLibrary.Entities.Produto>),
                                                  new XmlRootAttribute("Produtos"));
List<Common.CCeEntityClientLibrary.Entities.Produto> lstProducts;
using (var fileStream = new FileStream(fullFileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    lstProducts =
        (List<Common.CCeEntityClientLibrary.Entities.Produto>)
        xmlSerializer.Deserialize(fileStream);
}

更新:

catch (Exception ex)
{
    var stringBuilder = new StringBuilder();

    stringBuilder.AppendLine("Não foi possível realizar a importação do o arquivo '{0}' através do método '{1}'");

    stringBuilder.AppendLine("Descrição: {2}");

    Common.CCeCommonLibrary.Errors.EventLogManager.WriteEventLog(
        string.Format(stringBuilder.ToString(), fileName,
                      System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message));
}

此部分是记录错误的地方

1 个答案:

答案 0 :(得分:1)

如果它没有抛出异常,那意味着它找到了该文件并将其打开。 XmlSerializer可能遇到的XML不同于预期的XML。检查它正在查看的文件,以确保XML是正确的。

另一个选择是EventLogManager在该环境中不起作用,并且出现错误。您可以暂时删除异常处理,看它是否会爆炸。