小编Boj*_*ojo的帖子

DataGridView自动生成列

在我的Windows窗体上,我有一个DataGridView组件,它绑定到BindingSource.BindingSource是EntityFramework对象的对象数据源.

有时我的DataBridView中的列会被更新.有时,所有属性都会添加为列,但现在它也会删除所有列.所以我丢失了所有设置.

什么时候列自动添加?

(我正在使用VS.NET 2010)

更新:

//
// Summary:
//     Gets or sets a value indicating whether columns are created automatically
//     when the System.Windows.Forms.DataGridView.DataSource or System.Windows.Forms.DataGridView.DataMember
//     properties are set.
//
// Returns:
//     true if the columns should be created automatically; otherwise, false. The
//     default is true.
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Advanced)]
[DefaultValue(true)]
public bool AutoGenerateColumns { get; set; }
Run Code Online (Sandbox Code Playgroud)

该属性未显示在设计器中,并且未检查"隐藏高级属性".

更新2:当我更新我的实体框架模型时,将再次添加所有列.我只能在表单的构造函数中设置属性.这非常烦人.

c# datagridview visual-studio-2010

10
推荐指数
2
解决办法
2万
查看次数

突然发生应用程序崩溃 - 致命执行引擎错误(7A0BC59E)(80131506)

完全随机,突然我们的应用程序在其生产环境中崩溃.该应用程序在Windows XP和.net framework 3.5 sp1上运行.在应用程序中,我们提供WCF服务,我们使用串行端口.

当应用程序崩溃时,它会在应用程序日志中留下消息:

.NET Runtime version 2.0.50727.3625 - Fatal Execution Engine Error (7A0BC59E) (80131506)

 For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Run Code Online (Sandbox Code Playgroud)

Faulting application ***.exe, version 1.0.0.0, stamp 4f48b8fc, faulting module  mscorwks.dll, version 2.0.50727.3625, stamp 4e154c98, debug? 0, fault address 0x000a03ea.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Run Code Online (Sandbox Code Playgroud)

在我们的测试环境中,我们遇到了类似的问题

在互联网上,我发现了几个相同的问题,都提到了热修复或重新安装.但我想知道发生了什么,不想发生什么.有谁知道会发生什么以及我们如何解决它?

[编辑]除了应用程序还安装了Sophos antivirus和MySql.

[编辑2]在我们的应用程序中,我们使用包装在.net包中的C库.我们在更多的应用程序中使用该库,并且它不提供例外.

[编辑3]无法回答我自己的问题嗯,我找到了一些东西:

http://support.microsoft.com/kb/959209/en-us 958481 .NET Framework 2.0 Service Pack 2的应用程序兼容性更新解决的问题列表

在.NET Framework 3.5 SP1中,由于在检查NULL值以支持地址空间布局随机化(ASLR)时所做的更改,故障情况会导致运行时中的访问冲突.此访问冲突表现为ExecutionEngineException异常.此外,该过程终止.

http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=10006

.net c# windows-xp .net-3.5

9
推荐指数
1
解决办法
8368
查看次数

有时保存的文件只包含NUL字符

我们的Windows 8.1应用程序(WinRT)中存在一个问题,即有时我们保存的文件已损坏.这些文件的文件大小正确,但该文件只包含NUL字符.该文件应包含一个序列化对象作为XML.

为了找到问题,我们不会覆盖该文件,我们执行以下操作:

  1. 将当前对象序列化为临时文件.
  2. 检查临时文件的内容
  3. 复制当前文件(到.timestamp.xml.bak)
  4. 将临时文件移动/替换为当前文件

大多数情况下,一切正常,但有时.timestamp.xml.bak文件和内容文件损坏.除此之外,日志文件也会损坏(也只有NUL字符).整个文件由NUL字符组成.当我查看bak文件和主文件的踪迹时,我看到主文件的大小增加了.这应该是正确的,因为添加了一个新的XML元素.但它不包含XML.

我不知道这是怎么发生以及为什么会发生这种情况.它发生在大约5%的文件中,应该进行编辑,每个损坏的文件在5-20次保存尝试后发生.它也发生在几个平板电脑上.

以下是创建损坏文件的代码片段:

StorageFile file = await lDataFld.CreateFileAsync(filename + ".tmp",  CreationCollisionOption.OpenIfExists);

StorageFile oldFile = await dataFld.GetFileAsync(filename + ".xml");
if (oldFile != null)
{
await oldFile.CopyAsync(dataFld, string.Format("{0}.{1}.xml.bak", filename, DateTime.Now.ToString("yyyyMMddHHmmssfffffff")), NameCollisionOption.ReplaceExisting);
}
await file.MoveAndReplaceAsync(await dataFld.GetFileAsync(filename + ".xml"));

Logger.Log(string.Format("Saved {0}.", filename));
Run Code Online (Sandbox Code Playgroud)

有人能告诉我我们如何最终得到只包含NUL字符的文件以及如何/为什么会发生这种情况?甚至可以更好地修复它.

一个小小的问题:我们不能以任何方式重现这个问题,它只发生在我们的生产环境中.

c# async-await windows-runtime winrt-async

6
推荐指数
1
解决办法
880
查看次数