草庐IT

美团$方案$实践

全部标签

c# - 在 c# 解决方案中未发现 nunit 测试

以下是我的开发设置的配置(不需要所有这些;但我想我还是会提供这些信息)VisualStudio2012更新4单元2.6.3Nunit测试适配器1.1Windows7旗舰版64位我正在研究的解决方案有许多使用Nunit用c#编写的单元测试。我以管理员身份登录。出于某种原因,我无法在测试资源管理器中查看测试。打开解决方案后,VS显示的错误消息是“检测到意外错误。查看输出Pane了解详细信息”输出Pane只提到检测到0个测试我尝试了从重新安装Nunit、修复VS到重置IDE和窗口布局的所有方法。没有成功。如果我在笔记本电脑上以其他用户身份登录,我可以在测试资源管理器中查看测试。鉴于上面的第4

c# - 带有 DefineConstants 的解决方案文件的 MsBuild

目前,在我的自动构建中,我使用devenv.exe来构建我的解决方案文件:devenv/buildmyproject1.sln现在,我想为我的应用程序创建两个版本,普通版和轻量版。这两个版本的源代码是一样的,只是在轻版本中禁用了一些功能,为此我使用了#definelite。预处理器指令(在csproject文件中,这些常量在DefineConstants属性组下定义)。在MsBuild中——或者只是正常的devenv构建——是否可以指定我想要的符号是否应该出现在构建中?我问这个的原因是因为我想第一次使用lite预处理器指令(对于精简版)构建我的sln文件,第二次,没有lite预处理器指

c# - 使用 protobuf-net 的 C# 项目中的 Protocol Buffer - 代码生成的最佳实践

我正在尝试在C#项目中使用protobuf,使用protobuf-net,我想知道将其组织到VisualStudio项目结构中的最佳方式是什么。当手动使用protogen工具将代码生成为C#时,生活似乎很容易,但感觉不对。我希望.proto文件被视为主要源代码文件,生成C#文件作为副产品,但在C#编译器参与之前。选项似乎是:原型(prototype)工具的自定义工具(虽然我不知道从哪里开始)预构建步骤(调用protogen或执行此操作的批处理文件)我一直在努力解决上面的2),因为它一直给我“系统找不到指定的文件”,除非我使用绝对路径(而且我不喜欢强制明确定位项目)。(还)有这方面的约定

c# - ASP.NET MVC 4,EF5,模型中的唯一属性 - 最佳实践?

ASP.NETMVC4、EF5、代码优先、SQLServer2012Express在模型中实现唯一值的最佳做法是什么?我有一个places类,它有一个“url”属性,每个地方都应该是唯一的。publicclassPlace{[ScaffoldColumn(false)]publicvirtualintPlaceID{get;set;}[DisplayName("DateAdded")]publicvirtualDateTimeDateAdded{get;set;}[Required(ErrorMessage="PlaceNameisrequired")][StringLength(10

c# - 打开解决方案/文件时 Visual Studio Professional 2013 崩溃

我一直在尝试打开我为前任雇主工作时制作的一些网页/数据库解决方案,以复习它们的内容,但出于某种原因,VisualStudioProfessional2013只是决定在打开时崩溃它们,或者当我尝试打开我在其中创建的C#文件之一时崩溃。我不知道为什么现在要这样做,因为自从我毫无问题地制作这些文件以来已经一个多月了。2013年本身似乎也没有任何问题。有什么建议吗? 最佳答案 对于VS2013:我时常遇到类似的问题,我的解决方法是删除*.suo文件,然后打开解决方案。唯一没有工作的时间是在播放扩展程序时,在这种情况下,我使用/safemod

c# - 关于 C# 短路评估的最佳实践是什么?

一个答案和后续debateinthecomments在另一个线程中提示我问:在C#中||和&&是逻辑运算符|的短路版本和&分别。示例用法:if(String.IsNullOrEmpty(text1)|String.IsNullOrEmpty(text2)|String.IsNullOrEmpty(text3)){//...}对比:if(String.IsNullOrEmpty(text1)||String.IsNullOrEmpty(text2)||String.IsNullOrEmpty(text3)){//...}就编码实践而言,哪个更好用,为什么?注意:我确实意识到这个问题类似于

c# - ASP.NET MVC 3 中复杂类型列表的最佳实践

这是我的第一个SO问题,与其说是“我该怎么做”,不如说是“最干净的方法是什么”,因为我看到了几种方法,但没有一种看起来非常对我很有吸引力。这个问题描述起来有点复杂。本质上,我有一个添加/编辑View,允许用户编辑某些对象的字段。这个对象非常复杂:它有一些字段,还有一个复杂对象的子列表。每个复杂对象大约有40个字段(主要是复选框、单选按钮和日期/时间)。我将其表示为一个选择列表:(来源:fortheloot.com)添加按钮会生成包含各个字段的对话框。问题来了。当用户接受对话框并关闭对话框时,我现在必须将这些数据存储在某个地方,以便用户可以在实际提交表单之前进一步编辑它或添加其他子项。最

c# - 最佳实践 - 格式化多种货币

下面列出的场景的最佳做法是什么?我们有一个应用程序希望支持多种货币。该软件将尊重用户的语言环境和区域设置来指示正确的数字格式,即$10,000.00或10.000,00₴等。但是,我们希望能够根据货币ID(可能是三个字母的ISO4217代码)格式化不同的数字。我们的想法是在数据库中存储每种货币的表,然后请求用户选择将要使用的货币符号。该程序随后将根据语言环境/区域设置格式化所有数字,但将使用我们程序中定义的货币符号。因此,给定以下值和货币10000澳元5989.34美元450欧元程序会输出$10,000.00$5,989.34€450.00或者使用将数字格式化为#####,##$的区域

c# - 包含 'Any CPU' 和 'x86' 项目的 Visual Studio 2010 解决方案的建议

经常发生的情况是,单个C#解决方案包含一些特定于x86的项目(通常通过具有native依赖项)和其他“任何CPU”的项目。直到最近,我总是进入配置管理器并确保解决方案平台是“任何CPU”。这不是什么大问题;它需要偶尔调整liketheonesmentionedhere,但总体来说还不错。但是,我最近开始怀疑这些努力是否被误导了。我显然反对VisualStudio2010(以及以前的VisualStudio2008)旨在处理此问题的方式。“MixedPlatforms”其实是一个准确的描述,虽然一开始感觉有点不对劲,但进一步思考后我不得不得出结论,它不比“AnyCPU”更错误。因此,最近

c# - 是否可以在 Entity Framework Core 中创建基于字符串的 Include 替代方案?

在API上我需要动态包含,但EFCore不支持基于字符串的包含。因此,我创建了一个映射器,它将字符串映射到添加到列表中的lambda表达式,如下所示:List>expressions=newList>();考虑以下特定类型:publicclassEFContext{publicDbSetP1s{get;set;}publicDbSetP2s{get;set;}publicDbSetP3s{get;set;}}publicclassP1{publicP2P2{get;set;}publicP3P3{get;set;}}publicclassP2{publicP3P3{get;set;}}