Tag: visual studio

如何在Visual Studio 2015中更改语言版本

我想在Visual Studio 2015中的C#项目中使用nameof运算符,但编译器会抱怨以下消息。 function’运营商名称’在C#5中不可用。请使用语言版本6或更高版本。 我想知道如何从Visual Studio 2015更改C#语言版本。

为什么Visual Studio会自动更改表单的布局?

我有一个Windows表单,其中包含3个文件: AbcFrm.cs AbcFrm.Designer.cs AbcFrm.resx 每当我对datagridview的任何属性进行一些更改或添加新事件时,控件的大小会向右侧和底部变大,并导致某些控件超出范围。 我在执行次要属性更改之前和之后比较了.Designer.cs文件(例如,将datagridview的tabStop属性值从true更改为false),并发现在.Designer.cs文件中自动添加/更改了一些行/属性: 一些控件’ .Size值的变化 一些控件’ .Location值的变化 一些控件’ .Padding值的变化 表单的.AutoScaleDimensions变得更大 表单的.ClientSize变得更大 编辑 我意识到当我将分辨率从150%更改为125%并重新打开应用程序时,控件又回到了正确的位置,因为窗体现在具有更大的缩放尺寸。 我的问题与这个问题类似 原因是代码可能已在具有不同分辨率的计算机中编辑。 然而,解决方案并不令人满意,因为它不能解决问题,只能找出原因。 我该如何防止这种情况发生? 我正在使用Visual Studio 2010,我的操作系统是Windows 10。

intellisense中的自定义代码片段

我已经开始将一些常用的代码块导出到自定义代码段。 有没有办法让这些显示在IntelliSense中,而不必使用上下文菜单或代码段管理器中的代码段浏览器? 起初,我认为这与ReSharper有关,但是当我禁用ReSharper IntelliSense时它们仍然没有出现。 能够仅使用代码段快捷方式而不是使用浏览器会很高兴。

如何优雅地防止Web服务代理暴露给COM?

我有一个C#程序集,我用作非托管C ++应用程序使用的进程内COM服务器。 程序集使用一个永远不会改变的Web服务,因此不需要更新Web服务代理类。 这就是为什么代理类被创建一次而Reference.cs文件被简单地放入存储库并且只从那里编译。 问题是默认情况下,webservice代理类是公共的,因此暴露给COM。 这会使typelib和污染注册表膨胀。 将可见性更改为内部会破坏程序集,因此这些实体需要保持公开,但不需要向COM公开。 愚蠢的方法是接近Reference.cs文件中的每个公共接口/类并标记它 [System.Runtime.InteropServices.ComVisible(false)] 之后,它不再暴露给COM。 有没有更好的办法?

如何在Visual Studio 2010中引用C#类库项目?

我是视觉工作室的新手,想知道如何设置visual studio 2010,以便我可以参考我的C#windows类库项目? 我目前有一个包含2个项目的解决方案 – C#库项目和unit testing项目。 创建将使用此库的多个客户端的最佳方法是什么? 它们应该是他们自己的解决方案还是库解决方案中的另一个项目? 如何在引用库项目的项目中使用库函数中的类?

将ELMAH日志ID传递给ASP.NET中的自定义错误页面时出现问题

我正在使用ELMAH在ASP.NET Webforms应用程序中记录未处理的exception。 记录工作正常。 我想将ELMAH错误日志ID传递给自定义错误页面,该页面将使用户能够通过电子邮件向管理员发送有关错误的信息。 我听从了这个答案的建议。 这是我的global.asax代码: void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { Session[StateKeys.ElmahLogId] = args.Entry.Id; // this doesn’t work either: // HttpContext.Current.Items[StateKeys.ElmahLogId] = args.Entry.Id; } 但是,在自定义错误页面上,会话变量引用和HttpContext.Current.Items给了我一个NullReferenceexception。 如何将ID传递给我的自定义错误页面?

无法更改DataRow值

我想更改Datarow值。 我想改变DT2[0].ItemArray[3]我尝试了这段代码,但它没有用。 private void Func(DataRow[] DtRowTemp) { DataRow[] DT2 ; DT2 = DtRowTemp; // It work and DTRowTemp value has set to DT2 // above code don’t work DT2[0].ItemArray[3] = 3; // Last Value Was 2 and I want to change this value to 3 }

在C#中解析XML数据并显示到ListBox中

我正在尝试使用Visual Studio在C#中解析XML文件并在ListBox中显示数据,但是当我处理嵌套的XML文件时,我不知道如何解析它。 这是XML文件中的代码: <!DOCTYPE root [ ]> true 30 false 32 我用C#编写的代码成功地只返回了每个人的姓名,性别和年龄,但我不知道如何写信给我以及person_liked: private void LoadPersons() { XmlDocument doc = new XmlDocument(); doc.Load(“Baza_de_cunostinte.xml”); foreach (XmlNode node in doc.DocumentElement) { string name = node.Attributes[0].Value; int age = int.Parse(node[“Age”].InnerText); bool isMale = bool.Parse(node[“IsMale”].InnerText); // Persons likedPerson.name = Persons.node.Attributes[0].Value ? // ….. listBox.Items.Add(new Persons(name, age, isMale, likedPerson)); } } […]

在Visual Studio中调试C#时,是否可以提交对实际数据库的更改?

我正在使用使用SQLExpress数据库的Visual Studio创建一个C#应用程序。 当我点击f5来调试应用程序并对数据库进行更改时,我相信正在发生的事情是bin / debug文件夹中有一个数据库的副本正在进行更改。 但是,当我停止调试然后在下一次将数据库的新副本放入bin / debug文件夹时点击f5,以便上次所做的所有更改都消失了。 我的问题是: 有没有办法,当我调试应用程序时,我可以让它对实际数据库进行更改,这些更改实际上已保存,或者它只会更改bin / debug文件夹中的副本(如果这是实际发生的事情) )? 我已经看到了类似的问题,但我找不到一个答案,说明是否可以在实际的.mdf文件中使这些更改持久化。 我问的原因是因为当我构建这个应用程序时,我不断添加部分和测试以确保它们一起工作。 当我输入测试数据时,我使用的是我希望保留在数据库中的实际数据。 这只会帮助我以后不必重新输入数据。 提前感谢任何可以帮助我更好地理解该过程的帮助或信息。

如何在Visual C#中的另一个窗体上的文本框中更改文本?

在Visual C#中,当我单击一个按钮时,我想加载另一个表单。 但在该表单加载之前,我想用一些文本填充文本框。 在显示表单之前,我尝试使用一些命令来执行此操作,但是由于其保护级别,我收到错误,指出文本框无法访问。 如何在显示之前在表单中设置文本框? private void button2_Click(object sender, EventArgs e) { fixgame changeCards = new fixgame(); changeCards.p1c1val.text = “3”; changeCards.Show(); }