Questions tagged «.net»

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

6
进行单元测试时使用C#“内部”访问修饰符
我是单元测试的新手,我想弄清楚是否应该开始使用更多的“内部”访问修饰符。我知道,如果我们使用“内部”并设置汇编变量“ InternalsVisibleTo”,那么我们可以测试我们不想从测试项目中声明为公共的函数。这使我认为我应该始终使用“内部”,因为至少每个项目(应该?)都有它自己的测试项目。你们能告诉我为什么我不这样做的原因吗?我什么时候应该使用“私人”?
469 c#  .net  unit-testing  tdd 

15
名称“ ConfigurationManager”在当前上下文中不存在
我正在尝试connectionStrings从配置文件访问。代码是ASP.NET + C#。我已经添加System.Configuration了参考,也提到了使用。但是它仍然不接受大会。 我正在使用VSTS2008。您知道是什么原因吗? 另一个奇怪的事情是程序集名称显示为“ System.configuration”,小写的c不会显示其他系统程序集的名称。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; namespace Utility { public class CommonVariables { public static String ConnectionString { get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; } } } } 配置: <?xml version="1.0" encoding="utf-8"?> <configuration> <connectionStrings> <add name="qbankEntities" connectionString="metadata=res://*/qbankModel.csdl|res://*/qbankModel.ssdl|res://*/qbankModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=qbank;Persist Security …

5
如何验证Moq中未调用该方法?
如何验证未调用该方法 Moq中未? 是否有类似AssertWasNotCalled的内容? 更新:从版本3.0开始,可以使用新的语法: mock.Verify(foo => foo.Execute("ping"), Times.Never());
466 c#  .net  moq 

12
如何使用LINQ选择具有最小或最大属性值的对象
我有一个具有Nullable DateOfBirth属性的Person对象。有没有一种方法可以使用LINQ来查询Person对象列表中最早/最小的DateOfBirth值。 这是我开始的: var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue)); 空的DateOfBirth值设置为DateTime.MaxValue以便将它们排除在Min考虑之外(假设至少一个具有指定的DOB)。 但是对我来说,所有要做的就是将firstBornDate设置为DateTime值。我想要得到的是与此匹配的Person对象。我是否需要这样编写第二个查询: var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate); 还是有一种更精简的方法?
464 c#  .net  linq 

19
即使平台相同,也“尝试加载格式错误的程序”
我从64位系统上的32位非托管DLL调用函数。我得到的是: BadImageFormatException:试图加载格式错误的程序。(来自HRESULT的异常:0x8007000B) 最初,我将项目设置为Any CPU平台,因此将它们都更改为x86,但是此错误仍在发生。这确实是我所知道的唯一解决方法。 DLL没有损坏或任何东西,因为我可以将它们与其他程序一起使用(我没有源程序)。我以为也许没有找到依赖性,但是我检查了一下,发现它们都在那里。另外,DllNotFoundException在这种情况下,它不会抛出吗? 我还可以做些什么?在您说“改用64位非托管DLL”之前,让我指出,没有一个。;)

19
如何解决Visual Studio编译错误,即“处理器体系结构之间的不匹配”?
我是Visual Studio 2010中项目配置的新手,但我进行了一些研究,但仍然无法完全弄清楚这个问题。我有一个Visual Studio解决方案,其中包含引用C#DLL的C ++ DLL。C#DLL引用了其他一些DLL,其中一些在我的项目中,而另一些在外部。当我尝试编译C ++ DLL时,出现以下警告: 警告MSB3270:正在构建的项目“ MSIL”的处理器体系结构与引用“ [内部C#dll]”,“ x86”的处理器体系结构之间不匹配。 它告诉我去配置管理器来调整我的体系结构。使用平台目标x86设置C#DLL。如果我尝试将其更改为其他任何东西,例如Any CPU,它会抱怨,因为它依赖的外部DLL之一具有平台目标x86。 当我查看Configuration Manager时,它显示了我的C#DLL的平台为x86,以及我的C ++项目的平台为Win32。这似乎是正确的设置。当然,我不希望我的C ++项目的项目平台设置为x64,这是唯一提供的其他选项。 我在这里做错了什么?


29
编写重试逻辑的最简洁方法?
有时我需要在放弃之前重试几次操作。我的代码是这样的: int retries = 3; while(true) { try { DoSomething(); break; // success! } catch { if(--retries == 0) throw; else Thread.Sleep(1000); } } 我想用一般的重试功能将其重写为: TryThreeTimes(DoSomething); 在C#中可以吗?该TryThreeTimes()方法的代码是什么?
455 c#  .net 

13
WCF-如何增加邮件大小配额
我有一个WCF服务,该服务从数据库向客户端返回1000条记录。我有一个ASP.NET WCF客户端(我在asp.net Web应用程序项目中添加了服务引用以使用WCF)。 运行客户端应用程序时收到以下消息: 超出了传入消息的最大消息大小配额(65536)。要增加配额,请在适当的绑定元素上使用MaxReceivedMessageSize属性。 有什么帮助吗?如何增加邮件大小配额?
453 .net  asp.net  wcf  .net-3.5 


15
无法在控制台应用程序的“主要”方法上指定“异步”修饰符
我是使用async修饰符进行异步编程的新手。我试图弄清楚如何确保Main控制台应用程序的方法实际上异步运行。 class Program { static void Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = bs.GetList(); } } public class Bootstrapper { public async Task<List<TvChannel>> GetList() { GetPrograms pro = new GetPrograms(); return await pro.DownloadTvChannels(); } } 我知道这不是从“顶部”异步运行的。由于无法async在Main方法上指定修饰符,因此如何在main异步方式内运行代码?


30
未在本地计算机上注册“ Microsoft.ACE.OLEDB.12.0”提供程序
我正在尝试在按钮单击事件中从Excel文件获取数据。我的连接字符串是: string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;"; 当我单击按钮时,出现以下错误: “ Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。 我不知道如何解决这个问题。我的操作系统是Windows 7。
442 .net  excel  aceoledb 

30
反转字符串的最佳方法
我只需要在C#2.0中编写一个字符串反向函数(即LINQ不可用),并提出了以下建议: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i > -1; i--) { reverse += cArray[i]; } return reverse; } 就我个人而言,我并不对功能感到疯狂,并且坚信有更好的方法来实现它。在那儿?

10
“ throw”和“ throw ex”之间有区别吗?
有些帖子问这两者之间已经有什么区别。(为什么我什至不得不提这个...) 但是我的问题有所不同,在另一种类似于神的错误处理方法中,我称呼为“ throw ex” 。 public class Program { public static void Main(string[] args) { try { // something } catch (Exception ex) { HandleException(ex); } } private static void HandleException(Exception ex) { if (ex is ThreadAbortException) { // ignore then, return; } if (ex is ArgumentOutOfRangeException) { // Log …

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.