Tag: .net

无法加载文件或程序集

我正在使用一个系统来使用带有NHibernate的SqlServerCe。 从我的驱动程序,如果我添加System.Data.SqlServerCe程序集作为参考,我可以创建和运行对数据库的查询就好了。 但是,当尝试使用NHibernate时,我得到以下exception: mscorlib.dll中出现“System.IO.FileNotFoundException”类型的第一次机会exception附加信息:无法加载文件或程序集“System.Data.SqlServerCe”或其依赖项之一。 该系统找不到指定的文件。 我已经跟踪了对Assembly.Load(“System.Data.SqlServerCe”)的调用的exception,这看起来应该可行。 System.Data.SqlServerCe程序集在GAC中(我也尝试将它作为本地引用添加到CopyLocal = true,无济于事),我可以使用其成员,所以为什么我不能显式加载它? 当我在Reflector中打开程序集时,它无法加载System.Transactions引用(我也尝试将其添加为本地引用,再次无效),因此加载该程序集可能是问题,而不是系统。 Data.SqlServerCe程序集。 这是个常见的问题吗? 可能是系统配置错误?

尝试Catch以外:await Task.Run(()

尝试在外面捕获: await Task.Run(() =>有意义还是只在await中使用它们? private async void Test() { try { await Task.Run(() => { try { DoingSomething(); } catch (Exception ex) { log.Error(ex.Message); } }); } catch (Exception ex) { log.Error(ex.Message); } }

entity framework4.3不创建数据库

我创建了新项目并添加了最新的entity framework(版本4.3)。 我像以前的EF版本一样创建了类和上下文。 但是,在第一次运行时应该创建数据库(在我的情况下是SQL Server 2005),我收到以下错误: 执行命令定义时发生错误。 有关详细信息,请参阅内部exception 具有以下内部exception: 无效的对象名称’dbo .__ MigrationHistory’。 据我了解,此表适用于迁移,但如果没有数据库,则此表不存在。 难道我做错了什么? 更多信息:出于测试目的,我只创建了一个类: public class Test { [Key] public int TestId { get; set;} public string Name {get; set;} } public class Context : DbContext { public Context() : base(“MyConnection”) { } public DbSet Tests { get; set;} } 更新1 经过一些测试后,我意识到应用程序正在从视觉工作室抛出未处理的exception并在视觉工作室中中断。 System.Data.EntityCommandExecutionException是一个例外。 一旦我忽略了这个期望并且没有停止代码执行,就创建了数据库。 […]

将.Net Garbage收集一个未被引用的对象,但是有一个正在运行的线程吗?

我有以下代码(为了便于阅读而减少): 主类: public StartProcess() { Thinker th = new Thinker(); th.DoneThinking += new Thinker.ProcessingFinished(ThinkerFinished); th.StartThinking(); } void ThinkerFinished() { Console.WriteLine(“Thinker finished”); } 思想家class级: public class Thinker { private System.Timers.Timer t; public delegate void ProcessingFinished(); public event ProcessingFinished DoneThinking; BackgroundWorker backgroundThread; public Thinker() { } public StartThinking() { t = new System.Timers.Timer(5000); // 5 second timer […]

如何在Entity Framework中编写参数化的原始sql查询

如何在Entity Framework中编写参数化的原始sql查询? 我尝试过以下方法: string dateQueryString = String.Join(“,”, chartModelData.GetFormattedDateList()); //Dates returned in format of 20140402,20140506,20140704 const string selectQuery = @”SELECT MAX(DATA_SEQ) AS MaxSeq, MIN(DATA_SEQ) AS MinSeq, COUNT(1) AS TotSampleCnt FROM SPCDATA_TB WHERE DATA_WDATE IN @DateParam AND LINE_CODE = @LineCode AND MODEL_NO = @ModelNumber AND LOT_NO = @LotNumber AND EQUIP_NO LIKE @EquipNumber”; SPCDataSeqCntInfo dataSeqCntInfo = _dbContext.Database.SqlQuery(selectQuery, new […]

公开ExpandoObject的属性

我有一个ExpandoObject,我发送到一个外部库方法,它接受一个对象。 从我看到的这个外部lib内部使用TypeDescriptor.GetProperties,这似乎导致我的ExpandoObject的一些问题。 我可以改为使用匿名对象,这似乎有效但我使用ExpandoObject更方便。 我是否需要构建自己的DynamicObject并通过实现ICustomTypeDescriptor自己处理它,或者我在这里遗漏了一些东西。 想法? 更新 除了以下somedave的答案(根据评论),我添加了这个类 public class ExpandoObjectTypeDescriptionProvider : TypeDescriptionProvider { private static readonly TypeDescriptionProvider m_Default = TypeDescriptor.GetProvider(typeof(ExpandoObject)); public ExpandoObjectTypeDescriptionProvider() :base(m_Default) { } public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) { var defaultDescriptor = base.GetTypeDescriptor(objectType, instance); return instance == null ? defaultDescriptor : new ExpandoObjectTypeDescriptor(instance); } } 并注册如下: dynamic parameters = new ExpandoObject(); […]

反序列化枚举

我有一个xml,其中一个元素的属性可以为空。 例如, ….. 现在,语言是从模式创建的类中的枚举类型。 如果指定了语言,它可以正常工作,如果它是空白则无法反序列化(如示例所示)。 编辑:反序列化的代码: XmlSerializer xmlserializer = new XmlSerializer(type); StringReader strreader = new StringReader(stringXML); Object o = serializer.Deserialize(strreader); 我该如何处理这种情况

如何从C#提交multipart / form-data HTTP POST请求

使用C#中的multipart / form-data内容类型提交HTTP POST请求的最简单方法是什么? 必须有一个比建立我自己的请求更好的方法。 我问的原因是使用这个api将照片上传到Flickr: http://www.flickr.com/services/api/upload.api.html

Form.Dispose()调用控件里面的Dispose()?

当我创建一个表单时,自动生成的代码不包括重写的Dispose方法。 这是否意味着没有为表单中的所有控件调用Dispose?

在这种情况下无法获得响应

我有问题。 本地一切正常,但在生产服务器中它总是抛出exception’响应在此上下文中不可用’。 可能是什么问题? 我注意到由于global.asax的一些变化,很多人都遇到了这个问题。 这是global.asax的代码,与应用程序启动相关的部分。 protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes); Application[“SystemUser”] = TUser.GetUserByIdentifier(“system”).UID; InitializeSolrInstances(); SearchIndexer.DoIndex(); StartRatingTimer(); SolrManager.RecalculateMostRequested(); } private static void InitializeSolrInstances() { SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/offer”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/savedquery”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/topproducts”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/topsellers”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/mostrequested”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/requestedquery”); } private void StartRatingTimer() { _LastRatingRenewedTime = DateTime.Now; DateTime CurrentTime = DateTime.Now; DateTime […]