草庐IT

c# - 使用强名称签署程序集,好的,但是如果某些第 3 方 DLL 未签署怎么办?

我了解签署程序集背后的基本思想,但在使用Telerik或第2方DLL时遇到问题。我有一个使用我自己的2个.DLL的.exe,这些DLL又使用企业库DLL和TelerikDLL。我给所有项目起了一个强名称.snk,但是在编译时编译器解释说企业库DLL,例如,没有签名,这是有道理的。我不想使用tesn.exe-Vr命令关闭验证,甚至不想延迟签署我的项目。但是,这将如何运作呢?我很感激任何见解。 最佳答案 签署/退出第三方集会很不方便,但不是火箭科学。假设您想使用default.snkkey签署一个未签名的dll,例如System.Com

c# - get_SynonymInfo 某些词抛出内存不足异常

我有一个简单的测试程序,它使用MicrosoftWordInterop从同义词词典中获取词义:usingSystem;usingWord=Microsoft.Office.Interop.Word;classProgram{staticvoidMain(string[]args){stringword="elite";//="common";varapp=newWord.Application();varsynInfo=app.SynonymInfo[word,Word.WdLanguageID.wdEnglishUS];if(synInfo.Found&&synInfo.Meanin

c# - TypeConverter 无法从某些基本类型转换为相同的基本类型

为什么那些返回true:TypeDescriptor.GetConverter(typeof(double)).CanConvertTo(typeof(double));TypeDescriptor.GetConverter(typeof(int)).CanConvertTo(typeof(int));什么时候返回false?TypeDescriptor.GetConverter(typeof(decimal)).CanConvertTo(typeof(decimal));TypeDescriptor.GetConverter(typeof(bool)).CanConvertTo(ty

c# - 为什么 FindSystemTimeZoneById 找不到 GetSystemTimeZones 返回的某些时区?

我遇到了一个似乎无法解决的奇怪问题。当我在我的Win7x64机器上调用TimeZoneInfo.GetSystemTimeZones时,我得到了101个结果。当我对其中的每一个调用TimeZoneInfo.FindSystemTimeZoneById并传递TimeZoneInfo对象的StandardName属性时,其中3个抛出TimeZoneNotFoundException。这是一个示例:vartzs=TimeZoneInfo.GetSystemTimeZones();foreach(vartimeZoneInfointzs.OrderBy(t=>t.BaseUtcOffset))

c# - 有没有办法防止某些引用被包含在项目中?

基本上,我想做一些预防性维护。我希望避免将某些第三方库作为引用包含在某个项目中。有没有一种方法可以指定项目禁止哪些引用?我要保护的项目是一个类库,我希望它具有来自一组非常特定的第三方库的功能。该类库在其他解决方案中用于实现通用数据访问功能,因此如果引用了这些第三方库,则也需要它们。目的是让那个项目只是一个数据访问库,并保持“包”轻量级。 最佳答案 我在一个大型开发团队工作,所有人都在开发相同的软件,并且遇到了类似的问题。我们在大型domain-drivendesign工作(DDD)架构具有许多不同的限界上下文,并且不希望人们在上下文

c# - 每当 C# 中的 WindowState 发生变化时,我如何触发某些东西?

所以我想立即触发一个函数,因为这部分程序依赖于速度,当我的主窗体中的窗口状态发生变化时。我需要它是这样的:privatevoidgoButton_Click(objectsender,EventArgse){//Code}我检查了表单的事件选项卡,没有WindowStateChanged等。我该怎么做?表单的大小会调整很多,因此无法检查何时更改大小。 最佳答案 Resize事件(或SizeChanged)将在WindowState更改时触发。附带说明一下,WPF确实包含一个StateChanged直接为此事件。

c# - 如何使用 linq 替换字符串类型列表中的某些特定字符串?

大家好,我有一些字符串类型的列表。我想用linq替换一些项目,我该怎么做?我的以下代码工作正常,但我想使用linq的强大功能在单行代码中执行此操作。这是我的代码:Listlistcolumns=columns.ToList();//Arraytolistif(listcolumns.Contains("HowToReplace")&&listcolumns.Contains("HowToReplace")){intindex=0;index=listcolumns.IndexOf("HowToReplace");if(index>0){listcolumns.RemoveAt(inde

c# - 在 C# 中,如何将某些方法调用完全排除在代码库之外?

我正试图摆脱所有DateTime.Now方法调用,并用我自己的GetNow()方法替换它们,该方法有时可能返回固定日期测试目的。我如何才能强制将来没有人添加DateTime.Now调用?我可以使用NDepend或StyleCop在我的持续集成服务器上检查它吗? 最佳答案 使用NDepend很容易writethisrule://ForbidDateTime.Now,usexxx.GetNow()insteadWARNIFCount>0INSELECTMETHODSWHEREIsDirectlyUsing"OPTIONAL:System

c# - 如何在 int 列表中找到满足某些条件的项目的索引?

我有一个包含项目{10、11、23、34、56、43}的int列表,我想找出所有大于23的项目的索引。这些值可以是任何顺序,所以我这样做不想对它们进行排序。Listmylist=newList{10,11,23,34,56,43};我对满足条件的所有项目的索引感兴趣,而不仅仅是满足条件的第一个项目。所以这行代码对我不起作用。intindex=mylist.FindIndex(x=>x>23); 最佳答案 varindexes=mylist.Select((v,i)=>new{v,i}).Where(x=>x.v>23).Select

c# - 如何使用 TechTalk.SpecFlow 和 C# 以编程方式忽略某些验收测试?

我有几个包含某些场景的功能文件。我需要忽略几个场景或功能,根据某些条件用一些@tag标记。我读过specflowdocumentation但没有找到对我的解决方案有用的东西。我想用类似的东西[BeforeScenario("sometag")]publicstaticvoidBeforeScenario(){if(IgnoreTests){//ThisisthehotspotScenario.DoSomethingToIgnoreScenarioIfConditionButRunScenarioIfConditionFalse();}}我也试过动态添加或删除标签[BeforeScena