在我的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:当我更新我的实体框架模型时,将再次添加所有列.我只能在表单的构造函数中设置属性.这非常烦人.
完全随机,突然我们的应用程序在其生产环境中崩溃.该应用程序在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
我们的Windows 8.1应用程序(WinRT)中存在一个问题,即有时我们保存的文件已损坏.这些文件的文件大小正确,但该文件只包含NUL字符.该文件应包含一个序列化对象作为XML.
为了找到问题,我们不会覆盖该文件,我们执行以下操作:
大多数情况下,一切正常,但有时.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字符的文件以及如何/为什么会发生这种情况?甚至可以更好地修复它.
一个小小的问题:我们不能以任何方式重现这个问题,它只发生在我们的生产环境中.