我们有一个应用程序从本地文件中读取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));
}
此部分是记录错误的地方
答案 0 :(得分:1)
如果它没有抛出异常,那意味着它找到了该文件并将其打开。 XmlSerializer可能遇到的XML不同于预期的XML。检查它正在查看的文件,以确保XML是正确的。
另一个选择是EventLogManager在该环境中不起作用,并且出现错误。您可以暂时删除异常处理,看它是否会爆炸。