Tag: .net

尝试使用MySQL Entity Framework 6运行控制台应用程序时出现ConfigurationErrorException

我正在尝试学习如何在MySQL中使用Entity Framework 6。 由于我已经有了一个现有的数据库,所以我遵循Model First方法。 但是,我总是面对这个有用的错误消息。 在Program.cs中的这行代码中触发错误: List students = dbContext.Students.ToList(); 错误消息只是说: System.Configuration.dll中发生未处理的“System.Configuration.ConfigurationErrorsException”类型的exception附加信息:无法识别的属性“name”。 我的第一个假设是我的App.config文件有问题。 但是,我不知道它正在讨论的App.config文件中的哪个name属性。 我试图寻找现有的答案或可能的解决方案无济于事所以我决定发布我的问题希望你们帮助我。 我在用什么: Visual Studio 2013(安装在我的电脑中) MySQL Server 5.6(安装在我的电脑上) entity framework6.1.1(通过NuGet包管理器安装在我的项目中) MySql.ConnectorNET.Data 6.8.3.2(通过NuGet包管理器安装在我的项目中) MySql.ConnectorNet.Entity 6.8.3.2(通过NuGet包管理器安装在我的项目中) 我做了什么步骤: 创建了一个新的控制台应用程序 通过NuGet包管理器将已安装的Entity Framework,MySql.ConnectorNET.Data和MySql.ConnectorNet.Entity导入到项目中 使用我现有的数据库添加了名为DSWS_Model的ADO.Net实体数据模型 输入一些简单的代码,迭代并将学生列表打印到控制台中 跑 然后出现了愚蠢的运行时错误 Program.cs中 namespace MySQLEntityFramework6 { class Program { static void Main(string[] args) { Console.WriteLine(“Start?”); Console.ReadLine(); try { using (dswsEntities […]

我可以在.NET API中向现有类“添加”静态方法吗?

我想使用常规.NET Framework 类库中的源代码构建Windows Store 类库 。 理想情况下,我不想修改原始源代码文件。 在.NET Framework库的一些源代码文件中,静态成员使用的是在常规.NET Framework API和.NET for Windows Store应用程序 API中定义的类,但只有一部分。 .NET Framework成员可用于Windowsapp store 。 一个具体示例是System.IO.Path ,其中GetFullPath方法不适用于Windowsapp store应用 。 在我的Windows Store类库中合并此方法的替换并使原始源代码调用此方法非常简单。 我的问题是,有没有办法在不修改原始源代码文件的情况下做到这一点? 到目前为止,我还没有找到一个令人满意的解决方案来解决这个问题,但是我已经通过在另一个命名空间中实现了例如Path.GetFullPath(string)方法来解决了我的Windows Store类库 : namespace WindowsStoreLib.System.IO { public static class Path { public static string GetFullPath(string path) { … } } } 然后在原始文件中添加预处理程序指令: #if NETFX_CORE using Path = WindowsStoreLib.System.IO.Path; #endif […]

什么是“object <object”的c#equiv?

我有一些非常古老的VB.Net代码: Private Function Min(ByVal A As Object, ByVal B As Object) As Object If A Is DBNull.Value Or B Is DBNull.Value Then Return DBNull.Value If A < B Then Return A Else Return B End Function 别担心。 编译器吃它….并要求更多。 但是在转换为C#时: private object Min(object A, object B) { if (object.ReferenceEquals(A, DBNull.Value) | object.ReferenceEquals(B, DBNull.Value)) return DBNull.Value; return […]

Bitmap.Save“对象目前正在其他地方使用”线程问题

我有一些像这样的代码: public void SaveImage(int Counter) { var task = Task.Factory.StartNew(() => { var image = FinalImage; if (image != null) { image.Save(FinalImageSaveLocation + “test” + Counter + “.bmp”); } }, TaskCreationOptions.PreferFairness); } 我有一个for循环使用类似的代码创建x数量的图像: for(int i = 0; i < 100; i++) { Pencil.DrawImage(image, x, y); //Pencil is created at a initialisation stage SaveImage(i); //by Pencil […]

即使在Monitor.Enter之后,Monitor.TryEnter也始终返回true

我想我错过了关于Monitor.Enter和Monitor.TryEnter正确行为的一些信息。 这是我编写的一段代码,用于将问题与其余代码分开: object lockObj = new object(); bool result = Monitor.TryEnter(lockObj); Console.Write(result); 结果总是true 。 这里没有惊喜。 object lockObj = new object(); Monitor.Enter(lockObj); bool result = Monitor.TryEnter(lockObj); Console.Write(result); 但这一次也是true 。 那么在Monitor.Enter之后lockObj锁定了lockObj ? 请给我一些新的看法。

将命名空间传递给函数

我有一个函数,它接受一个word文档并以html格式保存。 我想使用相同的函数来处理任何文档类型。 由于Jon Skeet指出,我尝试使用generics(我假设不同的doc API是相同的)失败了。 还有另一种方式吗? using Word = Microsoft.Office.Interop.Word; using Excel = Microsoft.Office.Interop.Excel; //Works ok private void convertDocToHtm( string filename ) { … snip var app = new Word.Application(); var doc = new Word.Document(); doc = app.Documents.Open(ref fileName, ref missing, ref trueValue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, […]

如何让KeyedCollection成为只读?

首先让我解释为什么我使用KeyedCollection。 我正在构建一个DLL,我有一个项目列表,我需要添加到一个集合,并让它们按照我放置它们的顺序保留,但我还需要通过它们的索引和键来访问它们(关键是我已定义的对象的属性)。 如果有任何其他更简单的集合,请告诉我。 好了,我需要能够在DLL内部向此集合中添加项目,但是我需要将它作为只读公开提供给DLL的最终用户,因为我不希望它们删除/更改我添加的项目。 我一直在这个网站,其他网站,谷歌搜索,我一直无法找到一种方法来获得某种只读的KeyedCollection。 我最接近的是这个页面( http://www.koders.com/csharp/fid27249B31BFB645825BD9E0AFEA6A2CCDDAF5A382.aspx?s=keyedcollection#L28 ),但我无法让它发挥作用。 更新: 我看了看那些C5课程。 这与你的其他评论一起帮助我更好地理解如何创建我自己的只读类,它似乎工作。 但是,当我尝试将常规版本转换为只读版本时,我遇到了问题。 我得到一个编译时无法转换错误。 这是我创建的代码(第一个小类是我最初的代码): public class FieldCollection : KeyedCollection { protected override string GetKeyForItem(Field field) { return field.Name; } } public class ReadOnlyFieldCollection : KeyedCollection { protected override string GetKeyForItem(Field field) { return field.Name; } new public void Add(Field field) { throw new ReadOnlyCollectionException(“This collection […]

调整tiff并保持透明度和c#

我正在尝试调整RGB 8位Tif的大小并保持它在c#中的透明度。 我试过以下代码。 using (Image thumbnail = new Bitmap(1500, 1500)) { using (Bitmap source = new Bitmap(@”c:\trans.tif”)) { using (Graphics g = Graphics.FromImage(thumbnail)) { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.Clear(Color.Transparent); g.DrawImage(source, 0, 0, 1500, 1500); } } thumbnail.Save(@”c:\testoutput.tif”, ImageFormat.Tiff); //using (MemoryStream ms = new MemoryStream()) //{ // //thumbnail.Save(ms, ImageFormat.Tiff); // // // //result = […]

将按钮控件嵌入到现有的Direct3D应用程序中

我想在Direct3D v9游戏(由第三方制作)上面叠加自己的内容。 叠加交互式按钮 具体来说,我想覆盖一个可点击的按钮控件,比如Steam,例如,虽然我正在尝试一个更简单的界面。 理想情况下,我可以覆盖WPF按钮或Windows窗体按钮或整个UserControl,但如果不可能,那么从基元创建一个function按钮就足够了。 文本叠加使用SharpDX 我有一个基于Justin Stenning工作重叠文本的工作样本 即在SharpDX.Direct3D9.Font DrawText方法的帮助下 如何使用SharpDX覆盖Button或UserControl 我查看了https://github.com/sharpdx/SharpDX-Samples中的相关示例,但无法找到使用SharpDX包含或绘制本机控件的方法 可能吗? 如果没有,是否有从头开始绘制可点击按钮的样本? 请记住我是DirectX世界的新手:)

为’Any CPU’构建p4api.net.dll

本周早些时候,当我尝试使用p4api.net.dll时,我遇到了第一个BadImageFormatException。 原来我的假设是我可以使用它的64位版本而且p4bridge.dll不正确! 在我的调查中,我注意到我有一个警告: warning MSB3270: There was a mismatch between the processor architecture of the project being built “MSIL” and the processor architecture of the reference “p4api.net, Version=2014.3.100.9144, Culture=neutral, PublicKeyToken=f6b9b9d036c873e1, processorArchitecture=AMD64”, “AMD64” 我了解到这意味着我使用的.dll指定使用64位,而不是使用Any-CPU构建。 虽然我们可以将项目更改为特定的x64,但我还是被要求调查是否仍然可以将其作为平台不可知的方式保留。 我仍然是p4api.net的新手并且不得不处理这种依赖,但我的理解是,如果我可以将p4api.net.dll构建为“任何CPU”,警告就会消失,我只需要做一些魔法,以确保使用正确的p4bridge.dll取决于我在项目中定义的CurrentPlatform。 我下载并编译了p4api.net源代码并尝试指定任何CPU,但它不起作用。 现在它说该架构设置为x86,我仍然得到类似的MSB3270错误 – 现在是x86。 但是,我没有使用p4api.net解决方案得到这样的警告,因此它似乎没有我所知道的任何平台依赖性。 但是,如果我在CorFlags.exe上使用CorFlags.exe ,它肯定会提供特定于平台的PE / 32BIT标志。 所以我的问题: 有没有人知道是否有可能为任何CPU构建p4api.net? 如果做不到这一点,我需要做些什么来检查哪些(如果有的话)平台依赖存在会妨碍我为任何CPU构建p4api.net.dll? 如果上面的答案都没有,我可能会有新的问题,但是当我到达那里时会越过那座桥! 🙂 提前感谢任何帮助/想法。