Tag: visual studio 2013

在没有编写额外对象类的情况下,将JSON字符串解析为C#中的JSON对象

我是C#的新手,我正在构建一个WPF应用程序。 现在我试图找出如何解析像这样的JSON字符串: { “Name”: “Apple”, “ExpiryDate”: “2008-12-28T00:00:00″,”Price”: 3.99, “Sizes”: [“Small”,”Medium”,”Large”] } 神奇地进入JSON对象。 我在网上进行了一些搜索,并且所有解决方案都需要编写一个与JSON字符串具有相同结构的对象类。 上面的字符串只是一个例子,实际的JSON响应要复杂得多,所以我不想为它编写一个庞大的类。 是否有一个库允许我做类似这些的事情: JsonObject jo = new JsonObject(JsonString); string name = jo[“Name”]; // And the name would have “Apple” as its value

Visual Studio未将Designer连接到代码背后

我上周开始使用VisualStudio 2013,并且喜欢它。 但我主要编码控制器和JavaScript。 但是,当我在Web项目内部向Webform添加控件时,它不会在.designer.cs文件中生成代码。 我可以打开文件并手动添加,现在这很好; 但是,将来会变得非常沮丧。 作为参考,我也使用Resharper 8和ASP.NET 4.5。 有没有其他人有这个问题,或者在过去使用另一个版本的Visual Studio找到了解决方法?

单例模式 – 默认属性

我一直在研究Singleton模式,因为它在Settings类中使用。 这是我的项目AccessTest的Settings.Designer.cs中的相关代码: internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); public static Settings Default { get { return defaultInstance; } } public string applicationSetting1 { get { return ((string)(this[“applicationSetting1”])); } } } 我不清楚的是为什么属性’applicationSetting1’是通过另一个属性’Default’访问的,为什么: var value = AccessTest.Properties.Settings.Default.applicationSetting1; 我正在运行VS2013 C#和4.5。

Visual Studio 2013不重新创建pdb文件

我在VS 2013 C#项目中的PDB文件有一个奇怪的问题。 基本上发生的事情是,在重建项目时,PDB文件不会重建。 这导致项目始终认为需要重建。 我已经尝试过清理解决方案,但是如果项目中有任何变化,它会再次回到同一状态。 我创建了一个简单的类库项目,行为是一样的。 作为一个完整性检查,我在另一台PC上创建了相同的类库,它按照我的预期工作。 有没有人对可能造成这种奇怪行为的原因有任何想法?

TCPClientexception的新实例

几天前我问过类似的问题。 那时,我试图使用套接字。 目前,我正在使用TCPClient为我做脏插槽工作。 我使用的是Windows 7和Visual Studios 2013 Professional。 原始和当前项目大纲: 我需要创建一个应用程序(使用C#的WinForms),允许用户通过wifi连接到一个设备(一块将被发送参数/命令的硬件)(wifi是最终目标,但我现在正在解决任何连接)然后向所述设备发送消息。 我知道一些C#和一些套接字/ IP的东西,但不知道使用C#的套接字/ IP。 程序的视觉,GUI方面不是我正在努力的方面。 我似乎无法启动并运行TCPClient并建立任何真正的连接。 我一直得到“提供无效参数”的例外情况。 有关此特定问题的任何提示或有关C#networking / TCPClient / etc的帮助。 受欢迎的。 我试图通过以下每种方式创建一个新的TcpClient,但没有成功: TcpClient tcpClient = new TcpClient(); TcpClient tcpClient = new TcpClient(family); // family is a created AddressFamily TcpClient tcpClient = new TcpClient(clientIPAddress, clientPortNumber); TcpClient tcpClient = new TcpClient(remoteEP); // remoteEP is a remote […]

有没有办法计算测试方法的流逝时间,忽略初始化时间?

这是一个踩在StackOverflow和SuperUser之间的灰色区域的问题。 由于我怀疑答案可能涉及与代码相关的解决方案,例如创意使用StopWatch ,我会在这里提出。 我正在使用Visual Studio 2013对依赖于entity framework数据模型的控制器执行unit testing。 测试资源管理器很好地在一个简短的列表中显示我的测试结果以及它们的经过时间。 不过,我发现我的控制器unit testing时间比我预期的要长得多。 我开始怀疑这是由于我用来创建一个模拟的初始化代码(使用Moq,但这没关系)实体模型。 果然,显示初始化例程包含在经过的时间中是一件小事。 [TestClass] public class InitializeTest { [TestInitialize] public void Initialize() { Thread.Sleep(10000); } [TestMethod] public void TestInitializeRuntime() { Assert.Inconclusive(); } } 这在测试资源管理器中产生了以下输出: 这使得由我的模拟实体模型支持的测试所用的时间相当无用,因为初始化代码通常消耗大于测试所用时间的95%。 每种方法看起来都很慢,实际上它们并非如此。 是否有替代配置或某些创造性使用代码(如前面提到的StopWatch ),这将允许我仅报告测试方法的耗用时间,不包括初始化或清理测试所花费的时间?

阻止Visual Studio 2013自动删除分配中的额外空格

我正在尝试对齐某些赋值以提高可读性,但每次粘贴时,Visual Studio 2013会自动删除=之前的额外空格。 例如,这个: static class Constants { public static string Something = “A value”; public static string SomethingElse = “Another value”; } 像这样重新格式化: static class Constants { public static string Something = “A value”; public static string SomethingElse = “Another value”; } 有没有办法把它关掉?

可以将Resharper Intellisense配置为按字母顺序排序吗?

我最近更新了使用VS2013和Resharper 8.2,(来自VS2010和Resharper 6)并且发现了一个非常讨厌的“ function ”,因为Resharper的intellisense没有按字母顺序对一个类的成员进行排序。 举例来说,我有一个名为“client”的对象,它有一个名为EthnicityRequired的属性,另一个属性叫为Ethnicities 。 仅使用本机VS2013 intellisense,这就是我输入的client.eth 这就是我的期望; 两个属性都列在一起。 但是,Resharper的Intellisense(更少)给了我这个 虽然可见成员按字母顺序排序,但缺少的种族属性位于列表底部,只有在我键入“ ethnicti ”以便文本不再与EthnicityRequired匹配时才会匹配。 通过仔细检查列表,似乎Resharper正在应用某种分组,然后在每个组中按字母顺序排序。 有谁知道如何摆脱这种相当无用的行为,并恢复到像Resharper 6.0和早期版本的直接alpha排序? 如果你能为JetBrains的理由提供辩护,可以获得奖励积分。

Visual Studio断点下面的蓝点是什么意思?

在调试组合的c ++ c#项目(c#加载c ++ dll)时,我有时会在当前命中的断点下面得到这个小蓝点: 那点想告诉我什么?

在编译64位时导致FP精度严重下降的原因是什么?

平台:C#使用Visual Studio 2013。 我有一个运行在64位Haswell CPU上的Windows应用程序,它正常工作,启用了“Prefer 32-bit”。 我决定通过取消选择’Prefer 32-bit’来升级到’Prefer 64-bit’,并且应用程序的算法突然变为不正确的值。 我失去了算术精度的29位 (这是我对双精度浮点尾数和单精度浮点尾数大小差异的估计)。 算术精度的差异很大! C#代码……测试用例: using System; class lngfltdbl { static void Main() { long lng = 2026872; float flt = 0.3F; double dbl = lng + flt; Console.WriteLine(dbl); } } 预期结果(选择’首选32位’时): dbl == 2026872.30000001 (PERFECT! CORRECT to 14 decimal places) 获得的结果(取消选择“首选32位”时): dbl == 2026872.25 (ERROR! CORRECT […]