Questions tagged «.net»

请勿使用有关.NET Core的问题,而应使用[.net-core]。.NET框架是主要为Microsoft Windows操作系统设计的软件框架。它包括基类库,公共语言运行时(通常称为CLR),公共类型系统(通常称为CTS)和动态语言运行时的实现。它支持多种编程语言,包括C#,VB.NET,F#和C ++ / CLI。

3
在带有MVVM的wpf中使用Dialog的好还是坏做法?
我最近遇到了为wpf应用程序创建添加和编辑对话框的问题。 我想在代码中做的就是这样。(我主要在mvvm中使用viewmodel first方法) 调用对话框窗口的ViewModel: var result = this.uiDialogService.ShowDialog("Dialogwindow Title", dialogwindowVM); // Do anything with the dialog result 它是如何工作的? 首先,我创建了一个对话框服务: public interface IUIWindowDialogService { bool? ShowDialog(string title, object datacontext); } public class WpfUIWindowDialogService : IUIWindowDialogService { public bool? ShowDialog(string title, object datacontext) { var win = new WindowDialog(); win.Title = title; …
148 c#  .net  wpf  mvvm  modal-dialog 

12
我可以在单元测试中写入控制台吗?如果是,为什么控制台窗口没有打开?
我在Visual Studio中有一个测试项目。我使用Microsoft.VisualStudio.TestTools.UnitTesting。 我在我的一个单元测试中添加了这一行: Console.WriteLine("Some foo was very angry with boo"); Console.ReadLine(); 当我运行测试时,测试通过了,但控制台窗口根本没有打开。 有没有一种方法可以使控制台窗口可通过单元测试进行交互?

15
获得XElement的InnerXml的最佳方法?
body在下面的代码中获取混合元素内容的最佳方法是什么?该元素可能包含XHTML或文本,但是我只希望其内容为字符串形式。该XmlElement类型具有的InnerXml属性正是我所追求的。 编写的代码几乎可以实现我想要的功能,但是包含周围的<body>... </body>元素,这是我不需要的。 XDocument doc = XDocument.Load(new StreamReader(s)); var templates = from t in doc.Descendants("template") where t.Attribute("name").Value == templateName select new { Subject = t.Element("subject").Value, Body = t.Element("body").ToString() };
147 .net  xml  xelement  innerxml 

5
以编程方式提升流程特权?
我正在尝试使用InstallUtil.exe安装服务,但通过调用Process.Start。这是代码: ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath); System.Diagnostics.Process.Start (startInfo); 其中m_strInstallUtil是“ InstallUtil.exe”的标准路径和exe,并且strExePath是我的服务的标准路径/名称。 从提升的命令提示符下运行命令行语法是可行的;从我的应用程序运行(使用上面的代码)没有。我假设我正在处理一些流程提升问题,那么如何在提升状态下运行流程?我需要看看ShellExecute吗? 这一切都在Windows Vista上。我正在提升为admin特权的VS2008调试器中运行该过程。 我也尝试设置,startInfo.Verb = "runas";但似乎无法解决问题。

30
Visual Studio 2013找不到单元测试
我在Visual Studio 2013中有一个简单的解决方案,它由一个Web项目,一个库项目和一个单元测试项目组成。当我打开解决方案并尝试运行单元测试时,Visual Studio不会发现它们。要运行测试,我尝试转到菜单并选择“测试”->“运行”->“运行所有测试”或打开“测试资源管理器”窗口。通过这些方法,Visual Studio不会在解决方案中发现任何测试。 首先创建一个简单的单元测试项目,然后尝试运行测试,Visual Studio知道发现该测试,然后我就可以运行它。然后,如果我打开以前的解决方案,Visual Studio现在会发现所有测试。我尝试保存我的解决方案,但先关闭并重新打开它,而无需先创建单元测试项目,Visual Studio不会再次找到测试。这是一个非常奇怪的行为,我不知道为什么会这样。 我曾经在这个项目中独自工作过,该项目使用的是与Visual Studio Team Foundation集成的源代码控制git。当一个新元素进入项目以及需要通过在线源代码控件重新创建解决方案时,Visual Studio的问题不会发现单元测试开始。在此之前,Visual Studio始终会发现所有测试。 为了创建单元测试,我使用了Microsoft.VisualStudio.QualityTools.UnitTestFramework dll。我的Visual Studio版本是:Microsoft Visual Studio Express 2013,用于Web版本12.0.30723.00更新3。我的.net Framework版本是4.5.50938。 我所有的测试都是这样的: [TestClass] public class Service1Test { [TestMethod] public void Test1() { Assert.IsTrue(True); } }

6
为什么在Windows 10控制台中将无穷大打印为“ 8”?
我测试了什么,从分工返回包括零,即0/1,1/0和0/0。为此,我使用了类似于以下内容的内容: Console.WriteLine(1d / 0d); 但是,此代码8不会打印Infinity或输出其他字符串常量,例如PositiveInfinity。 为了完整起见,以下所有打印内容8: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); 并Console.WriteLine(Double.NegativeInfinity);打印-8。 为什么此无穷大打印8? 对于那些似乎认为这是一个无限符号而不是八个以下程序的用户: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); Console.WriteLine(8); 输出:
146 c#  .net  windows 

6
类型“ T”的值不能转换为
这可能是一个新手问题,但是Google令人惊讶地没有提供答案。 我有这种相当人为的方法 T HowToCast<T>(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } 来自C ++背景,我期望它能起作用。但是,对于上述两个分配,它都无法通过“不能将类型'T'隐式转换为字符串”和“不能将类型'T'转换为字符串”进行编译。 我在概念上做错了或者语法错误。请帮助我解决这一问题。 谢谢!
146 c#  .net  generics  casting 



6
如何在.net中的不同程序集版本之间保留user.config设置?
基本上,问题是每次程序集版本更改(即用户安装应用程序的新版本)时,其所有设置都将重置为默认值(或更准确地说,是在具有不同版本的文件夹中创建新的user.config文件)数字作为名称) 由于不鼓励使用ini文件或注册表,因此在升级版本时如何保持相同的设置? 当我们使用Clickonce时,它似乎可以处理,因此似乎应该可以完成,但我不确定如何处理。

12
检查列表是否包含包含字符串的元素并获取该元素
在寻找这个问题的答案时,我遇到了使用LINQ的类似问题,但是由于我不熟悉它,所以我无法完全理解它们(因此无法实现它们)。我基本上想要的是: 检查列表中的任何元素是否包含特定字符串。 如果是这样,请获取该元素。 老实说,我不知道该怎么做。我能想到的是这样(当然不起作用): if (myList.Contains(myString)) string element = myList.ElementAt(myList.IndexOf(myString)); 我知道为什么它不起作用: myList.Contains()不返回true,因为它将检查列表的整个元素是否与我指定的字符串匹配。 myList.IndexOf() 不会发现任何情况,因为再次检查情况是,它将检查与字符串匹配的元素。 仍然,我不知道如何解决这个问题,但是我认为我必须按照类似的问题中的建议使用LINQ。话虽如此,如果是这种情况,我想请回答者在他们的示例中向我解释LINQ的用法(正如我所说的,我在使用C#时并没有为此而烦恼)。在此先感谢大家(还有gal?)。 编辑:我想出了一个解决方案;只需遍历列表,检查当前元素是否包含字符串,然后将字符串设置为等于当前元素。我想知道,是否有比这更有效的方法? string myString = "bla"; string element = ""; for (int i = 0; i < myList.Count; i++) { if (myList[i].Contains(myString)) element = myList[i]; }
146 c#  .net  linq  list  contains 


12
EntityType没有键定义错误
控制器: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; using System.ComponentModel.DataAnnotations.Schema; namespace MvcApplication1.Controllers { public class studentsController : Controller { // // GET: /students/ public ActionResult details() { int id = 16; studentContext std = new studentContext(); student first = std.details.Single(m => m.RollNo == id); return …

10
无法从程序集“ mscorlib”加载类型“ System.Runtime.CompilerServices.ExtensionAttribute”
首次启动我的网站时,出现此错误 Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 我究竟做错了什么? 我正在使用.NET 4,并且正在从Visual Studio启动该站点。 我最近更改的唯一一件事情是将Simple Injector(通过Nuget)添加到我的项目中。 这是堆栈跟踪 [TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.] System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) +0 System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, …
145 .net 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.