小编Mih*_*șan的帖子

测量C#代码的可测试性

在遇到堆栈溢出的链接后,我发现MiškoHevery的着作非常引人入胜.非常好,以至于我看到了我以前认为我做得很好的新方法.

他主要讨论依赖注入,自动单元测试和良好设计.

他提倡的一些好的做法是可以以编程方式检测到的东西.因此,有一个程序可以检测它们Google Testability Explorer.

我的问题是:

  • 是否存在与基于Java的Google Testability Explorer相当的C#?
  • 如果是这样,哪个最好?

c# unit-testing dependency-injection

7
推荐指数
1
解决办法
894
查看次数

在带有WCF的App.config中使用Windows角色身份验证

我正在使用WCF服务和net.tcp端点,其serviceAuthentication的主要PermissionMode设置为UseWindowsGroups.

目前在服务的实现中,我使用PrincipalPermission属性来设置每个方法的角色要求.

        [PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]
        [OperationBehavior(Impersonation = ImpersonationOption.Required)]
        public string method1()
Run Code Online (Sandbox Code Playgroud)

我尝试做的几乎完全相同,除了在app.config中设置角色的配置.有没有办法做到这一点,仍然使用Windows组身份验证?

谢谢

wcf app-config windows-authentication

7
推荐指数
2
解决办法
1万
查看次数

团队建设现在非常缓慢

我们在实施Team Foundation Build Server时遇到了性能问题,而且我对如何加快速度的想法已经不多了.我们已经添加了一些PropertyGroup元素来提高几个步骤(SkipClean,SkipLabel,SkipInitializeWorkspace)的性能,但我认为我们需要进行重大的重组才能解决问题.这是我们的设置:

  • 我们有大约40个Web应用程序,每个应用程序都非常不同,但运行了一堆共享程序集
  • 每个Web应用程序都有自己的解决方案;
  • 每个Web应用程序都引用了大约10到25个共享程序集;
  • 存在一个构建定义,其中包含在每次登记到主干时触发的所有解决方案;

这是我们遇到的基本问题

  • 在构建期间,它将构建每个共享程序集的次数,而不是构建一次并使用每个应用程序
  • drop目录的文件复制时间非常慢.它必须通过网络共享,不会采取本地路径.
  • 每隔这么多的构建,一个或多个输出文件就会被"锁定",即使编译很好,也会导致构建中断.
  • 另一件事 - 我也尝试过单独的构建定义,但这样做也会强制获得另一个工作区获取最新版本.我宁愿让构建服务器包含一个版本的主干来构建.

在过去的几个月里,我们已经放弃了嗜睡并忽略了这个问题,但现在建造时间超过一小时到一个半小时.

我正在考虑学习和切换到巡航控制的想法,以获得更大的控制权.有人不同意吗?

任何帮助都非常感谢.谢谢!

msbuild tfs team-build visual-studio

7
推荐指数
1
解决办法
3212
查看次数

Silverlight单元测试

我正在使用Silverlight UnitTest framerwork有没有一个很好的例子有如何用它对应用程序进行单元测试?我正在成功地使用它来对silverlight类库进行单元测试.

任何指针和链接将不胜感激.

谢谢,纳特

silverlight unit-testing

7
推荐指数
2
解决办法
1028
查看次数

实体框架:在运行时添加属性/实体

我想使用实体框架.但是,我还要求允许我的用户在我们的系统中定义自定义字段.我仍然想使用实体框架,而不是使用带有哈希表属性的部分类.

下面是我想到的解决方案,但它并不简单,所以我想看看是否有更好的方法.

我的想法是,有一个ModelManager对象,它将在相应的表上创建一个列,修改EDM文件,并使用edmgen.exe编译文件.这将全部发生在与应用程序不同的进程和/或应用程序域中,因为应用程序将引用生成的程序集.当应用程序重新启动时,它将可以访问新添加的字段.

这是使用实体框架执行此操作的唯一方法吗?谢谢你的时间.

entity-framework

7
推荐指数
1
解决办法
4014
查看次数

如何从单独的C#项目调用VSTO AddIn方法?

我有一个C#Excel加载项项目"MyExcelAddIn",它有一个公共方法Foo()来做复杂的事情.出于测试目的,加载项还定义了一个工具栏按钮,该按钮连接到Foo(),因此我可以测试它并验证单击按钮调用Foo()并执行我想要它做的事情.这可以.

现在我想从C#Windows Forms项目中调用此方法.在Windows窗体项目中,我可以创建一个Excel实例并使其可见并验证我的VSTO加载项是否正在运行,因为我可以看到该按钮并且它可以正常工作.但我无法弄清楚如何从Windows窗体项目以编程方式调用Foo().我已经google了一点,得到了"MyExcelAddIn"COMAddIn对象,但无法解决如何调用Foo().

它看起来像这样:

// Create Excel and make it visible
Application excelApp = new Application();
excelApp.Visible = true;

// I know my VSTO add-in is running because I can see my test button
// Now get a reference to my VSTO add-in
Microsoft.Office.Core.COMAddIns comAddIns = _excelApp.COMAddIns;
object addinName = "MyExcelAddIn";
Microsoft.Office.Core.COMAddIn myAddin = comAddIns.Item(ref addinName);
// This works, but now what? How do I make a call on myAddin?
// Note that myAddin.Object is null...
Run Code Online (Sandbox Code Playgroud)

所以我想知道如何从我的Windows窗体应用程序中调用Foo().请注意,我可以完全控制Windows窗体应用程序和加载项,我怀疑我必须对它们(尤其是加载项)进行更改,但我不知道如何执行此操作.

请注意,这是一个VS2008 C#应用程序,我正在使用Excel 2003.

.net c# vsto add-in visual-studio-2008

7
推荐指数
2
解决办法
6583
查看次数

如何从Visual Studio 2005中的"最近的项目"窗口中删除项目/解决方案

在Visual Studio起始页的左上角,有一个Recent Projects部分,列出了标准的10个最后打开的Project.我知道可以使用Tools-> Options-> Environment-> Genera l更改此编号,然后在Recent Files部分修改数字

但我的问题是如何从最近的列表中删除一些项目?

visual-studio-2005 visual-studio

7
推荐指数
1
解决办法
4049
查看次数

如果我删除了我的使用条款,如果删除的单位仍在其他单位中使用,它会有所不同吗?

我个人喜欢它,如果我的uses条款尽可能小,但在许多应用程序中,真正的大单位(在膨胀可执行文件方面)喜欢FormsVirtualTrees至少在另一个单位需要.

所以:如果我清理我的uses条款,即使最终没有从项目中移除任何单位,它会有所不同吗?如果真是这样,那么是以哪种方式?并且:清理uses条款应该尽快完成,还是等到我偶然找到一个未使用的单位?

delphi delphi-units

7
推荐指数
4
解决办法
783
查看次数

C中的通用数据类型的任何库?

我想用C编写一个2d游戏引擎(没有c ++).有哪些好的库有我可能需要的通用数据类型 - 例如队列,树,地图,列表等等?

c data-structures

6
推荐指数
1
解决办法
3552
查看次数

VS2008 TFS:是否可以更改工作项的默认值机操作?

当我将代码签入我们的Team Foundation Server时,有时候(可能比我实际做的更频繁......)应该将我的签到与我正在努力的任务或错误相关联.当我标记任务或签入时,它会设置要解决的签入操作.但几乎总是,我只想把它当作助理.结果是我经常最终将任务标记为错误解决.有没有办法在标记任务时使关联成为默认值?

解决错误或任务应该是我主动选择的东西.比如,这个工作项与我的签到有关,现在已经解决了.不是,这个工作项目与我的办理登机手续有关,顺便说一句,我还没有完全修复它...

version-control tfs visual-studio-2008

6
推荐指数
2
解决办法
1547
查看次数