Tag: visual studio 2010

C#默认参数

对于某人来说,这可能是一个非常简单的答案。 我有一个带有Optional Parameter的方法,如此; public static Email From(string emailAddress, string name = “”) { var email = new Email(); email.Message.From = new MailAddress(emailAddress, name); return email; } 现在,我必须以.Net 3.5为目标,我的理解是Optional Parameters是.Net 4的一部分。但是,我的项目构建并且我仔细检查了属性 – 应用程序页面,其中3.5表示目标框架。 然后我在MSDN上发现了一篇文章,说它是VS2010中C#4的一个特性。 ( MSDN文章 – > 命名和可选参数 ) 有人可以帮我澄清一下。 C#4不需要.Net4? 什么是可选参数实际上是一部分? 谢谢。

当我调用OpenFileDialog的ShowDialog方法时,vshost32.exe已停止工作

我是ac#应用程序,我正在对它做最后的测试。 但是现在,到目前为止每次工作的function都不再起作用了! 我有一个按钮,当我点击它时我想浏览文件,我看到“打开文件”窗口,半秒后,我得到了一个未被捕获的视觉工作室错误: vshost32.exe已停止工作: 对不起,但错误发生在法语本地化计算机上: Signature du problème : Nom d’événement de problème: APPCRASH Nom de l’application: TOM.vshost.exe Version de l’application: 10.0.30319.1 Horodatage de l’application: 4ba2084b Nom du module par défaut: ntdll.dll Version du module par défaut: 6.1.7600.16695 Horodateur du module par défaut: 4cc7ab44 Code de l’exception: c0000008 Décalage de l’exception: 0004631f Version du système: […]

如何将斜杠和其他“url敏感”字符传递给WCF REST服务?

我有一个REST WCF服务,它有一个方法可以将参数作为字符串获取。 该字符串可以包含斜杠/字符。 它使我的请求错误,因为我认为URL出错了。 请求它并获得响应时(WebRequest.GetResponse())抛出“远程服务器返回错误:(400)错误请求。” 例外。 我的要求: http:// localhost:17679 / testmethod / DmC / TCGlOLz1EbEwqAls5Q == \ nh2cQzTizSBg = 我试图使用Uri.EscapeDataString,但它没有帮助,我得到与上面相同的例外。 在此转换后,我的请求如下所示: http:// localhost:17679 / testmethod / DmC%2FTCGlOLz1EbEwqAls5Q%3D%3D%0Ah2cQzTizSBg%3D 如果我在字符串中传递没有斜杠的字符串,它可以按我的意愿工作。 如何将斜杠和其他“url敏感”字符传递给WCF REST服务? 谢谢。 更新:我解决了,你可以在我的答案中看到它。

从c#中的appconfig文件中获取连接字符串

我在app.config文件中声明了以下连接字符串: 当我尝试使用以下C#代码片段获取此连接字符串时,我得到值null 。 我无法获取连接字符串。 语法有什么问题吗? 第一次尝试: var settings = ConfigurationManager.ConnectionStrings[“SqlConnectionString”]; string result = settings.ConnectionString; 第二次尝试: string result = ConfigurationSettings.AppSettings[“SqlConnectionString”];

Visual Studio 2010不会自动缩进行

Visual Studio 2010,用于自动缩进我的行,现在突然它不会那样做,例如,当我创建一个方法时,它看起来像这样: public static void Foo (int FooInt) { // Some methods stuff… } 但现在看起来像这样: public static void Foo (int FooInt) { // Some method stuff… } 我找不到任何答案,我该怎么办? 我使用的是Visual Studio 2010,Windows 7 64位 更新:关于C#驻留我的问题,当我在C ++项目上尝试它时,缩进工作完美…任何建议? 更新 : 通过重新安装Windows意外地解决了问题。

在两个字符之间提取字符串?

我想在之间提取电子邮件ID 例如。 输入字符串: “abc” ; “pqr” ; “abc” ; “pqr” ; 输出字符串: abc@gmail.com;pqr@gmail.com

为什么数据驱动unit testing在vs2012中在vs2010中正常工作时失败了?

我有一些数据驱动的unit testing在Visual Studio 2010中运行得很好。这些测试使用以下模式实现。 [TestMethod()] [DeploymentItem(“path_to_data_dir_relative_to_solution\\my_data.xml”)] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”, “|DataDirectory|\\my_data.xml”, “Token”, DataAccessMethod.Sequential)] public void MyTestMethod() { // Arrange const string EXPECTED_PARAM_NAME = “table”; string data = TestContext.DataRow[“Data”].ToString(); var sut = new MyClassUnderTest(); // Act sut.DoSomething(data); // Assert Assert.IsTrue(sut.DidSomething); } 这是我的解决方案结构。 MySolutionFolder MyTestProjectFolder MyTestDataFolder my_data.xml 当我在Visual Studio 2012中运行相同的测试时,它们失败并显示以下错误消息。 结果消息:unit testing适配器无法连接到数据源或读取数据。 有关解决此错误的详细信息,请参阅MSDN Library中的“数据驱动unit testing疑难解答”( http://go.microsoft.com/fwlink/?LinkId=62412 )。 错误详细信息:对象引用未设置为对象的实例。 为什么我的unit testing突然失败了?

使项目在多个.NET版本之间保持同步

我需要在我的应用程序中创建一些核心库,这些库将在.NET 3.5和.NET 4.0中都可用。 我很高兴创建多个项目,创建所需的定义并使用#ifdef来控制哪些代码使其成为哪个输出程序集。 但是,我想知道的是,是否有办法让这些项目保持同步? 当我在XNA下开发时,我有一个Windows构建和Windows Phone构建 – 并且XNA将一个属性注入到名为XnaCrossPlatformGroupID的项目文件中。 它的作用是使Visual Studio能够自动确保在将文件添加到项目时将其添加到相应的项目中。 因此,例如,如果我将名为Foo.cs的文件添加到项目的Windows副本中,则该相同文件将添加到项目的Windows Phone副本中。 有没有办法在Visual Studio中为一组正常的项目复制那种行为? 我不想使用构建配置,因为我希望能够在一个步骤中编译所有目标平台,而无需借助IDE之外的工具(例如TeamCity之类的东西)。 或者是否有另一种方法允许针对多个目标构建项目,而无需使用20种不同的构建配置来解决问题?

安装期间卸载应用程序无法正常工作

我正在用C#开发WPF应用程序。 目前我的msi在机器上安装了当前的应用程序。我需要在安装新的一个(msi)时卸载现有版本的两个支持应用程序。 我编写代码以编程方式卸载应用程序,当我在installer.cs调用应用程序卸载方法时,这不起作用。当我从除installer.cs以外的项目的其他部分调用时,同样的方法卸载两个应用installer.cs 。 卸载方法: public static string GetUninstallCommandFor(string productDisplayName) { RegistryKey localMachine = Registry.LocalMachine; string productsRoot = @”SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products”; RegistryKey products = localMachine.OpenSubKey(productsRoot); string[] productFolders = products.GetSubKeyNames(); foreach (string p in productFolders) { RegistryKey installProperties = products.OpenSubKey(p + @”\InstallProperties”); if (installProperties != null) { string displayName = (string)installProperties.GetValue(“DisplayName”); if ((displayName != null) && (displayName.Contains(productDisplayName))) { […]

VS 2010 – 使用Designer打开用户控件/表单时出错

C#,VS2010,WinForm应用程序: 有时我确实遇到了打开一些控件/表单时收到错误消息的问题。 所有代码都编译并且应用程序正常运行。 打开设计师的控件给了我: 设计器加载器没有提供根组件,但没有说明原因。 根据我的经验,我可以说,我的代码中通常会出现一些未正确初始化的内容,例如某个属性未设置,在运行时以某种方式可用,但在设计人员打开时则不然。 唯一的问题是,根本原因很难找到。 问:当设计人员在Visual Studio 2010中打开我的组件时,是否有机会以某种方式使用调试器? 这将有很大帮助,解决问题很可能只需几分钟。 备注:为了清楚说明,我知道如何使用调试器;-),我只是不知道如何告诉VS2010的设计人员在调试模式下打开我的控件。 截至2010年9月2日,新增: 谢谢你的帮助。 基本上它是描述如何执行它的MSDN Library文章。 我已设法设置并运行第二个实例(没有太多要理解如何做到这一点)。 它只在我的情况下失败,因为第二个VS2010实例(调试设计时)无法找到我的自定义控件的符号。 我在Debugging / symbols下手动添加了符号。 没有结果,仍然“因为缺少符号而不会打破断点” 顺便说一句,使用这种方法,从符号加载(通过模块窗口)中排除一些东西是有帮助的,因为这将安全很多时间。 现在,如果必须弄清楚如何解决符号,那么我可以解决这个问题…..