C# ReSharper:在特定属性的所有目标上抑制特定警告
示例: private string foo; 这正确发出了警告CS0649: Field 'foo' is never assigned.但是,如果添加我的自定义属性,我希望抑制警告: [Localize("foo")] private string foo; 我知道这是可以使用 resharper .我正在使用的库,[JsonProperty("foo")] private string foo; 我尝试在属性类上使用#pragma指令,并与 编辑:在未分配的字段上使用newtonsoft.json.jsonproperty时,添加了一个动画来显示所需的行为. 编辑:添加澄清,因为该功能似乎是特定于特定的 解决方案 添加[MeansImplicitUse]属性,来自其他解决方案 [UsedImplicitly]属性来自在这里/p>
20 2024-04-26
编程技术问答社区
Assembly.GetType()无法从ReSharper插件中加载List`1[[MyModel]]类型。
我有一个r#插件和一个测试项目(不是R#测试项目,而是一个简单的,简单的单位测试项目).在插件的代码中,我从序列化类型信息中进行某种类型的分辨率.在这种类型上是我的模型类之一的对象列表.类型的序列化看起来像这样: "System.Collections.Generic.List`1[[Model.Foo, Model]], mscorlib" i加载此类型(或实际上,JSON.NET确实可以),并带有以下调用: Assembly assembly = Assembly.LoadWithPartialName(assemblyName); Type type = assembly.GetType(typeName); 在我的测试项目中,当我运行此代码时,一切正常.汇编名称为" mscorlib",第一行分解了mscorlib组件(作为runtimeaseSembly的实例).该名称为" system.collections.generic.list'1 [[model.
16 2024-04-26
编程技术问答社区
关于==用于引用的警告(Visual Studio或ReSharper)。
根据==操作员的文档>, 对于字符串以外的参考类型,==如果其两个操作数是指同一对象. 但是,老实说,我从不检查两个引用是否与==. 我更喜欢使用ReferenceEquals(obj1, obj2),因此默认替代Equals函数也是如此. 因此,在我的项目中,当==运算符在其他类型上以外的其他类型上使用时,等于错误. 是否有一种方法可以通过视觉工作室或重音器触发警告/错误时==在参考上使用(除字符串外)? ? 解决方案 根据建议,我创建了一个扩展程序来做到这一点. 如果您有兴趣,这是指向源代码的链接. 目前它确实 检查对象是否对操作员" =="和"!="是否具有覆盖.想要贡献的人非常欢迎这样做. 其他解决方案 这不是一个全局解决方案,但是如果我们只考虑某些类,JetBrains.Annotations JetBrains.Annotations CannotApplyEqualityOperatorAttribute可以做到.
20 2024-04-25
编程技术问答社区
resharper测试运行器-如何按类别执行?
Resharper版本7.1 Visual Studio 2012 Ultimate 两个部分问题: Q1:当我在解决方案资源管理器Resharper中选择"运行单元测试"时,会自动打开一个测试固定装置跑步者并执行所有测试固定装置.但是,我将测试分为两个类别:1)"长期运行"和2)"短期运行".有没有办法执行这些步骤后,我可以让测试跑步者执行"短跑",仅? Q2:在打开测试固定装置跑步者时,我按"类别"选择组.我看到上面提到的两个类别.我右键单击"短期运行",然后选择"运行测试".预计只有"短期运行"测试才能执行;但是,"长期运行"和"短期运行"都执行.有没有办法按类别执行,并且只有该类别执行? 更新:这是我屏幕上显示的内容 第一:r# - >选项 - >单元测试(常规选项卡) 第二:来自随机测试的示例测试,显示使用. 第三:这是我从解决方案资源管理器执行"运行单元测试"时看到的,也是我右键单击"简短运行" - >"运行测试"时看到的(无论
16 2024-04-25
编程技术问答社区
雷斯哈伯:模棱两可的援引
使用Resharper我收到以下消息: 模棱两可的调用解决方案iticket.sln 项目Iticket iticket \ frmmainticket.cs:530模棱两可的调用:void disableallfields()(在class frmmainticket)void disableallfields() (在类frmmainticket中)匹配 我是编码的新手,可以使用一些帮助.如果我正确理解这一点,基本上是说我在调用一种方法,而不确定我应该使用哪种方法?我以前从未使用过重射人.也许我对什么是模棱两可的调用感到困惑,但是我对此进行了一些研究. 预先感谢您. 来自代码: private void SetViewForBugnetTicket() { DisableAllFields(); btnSendBugnetDev.Enabled = false; } 方法:
10 2024-04-25
编程技术问答社区
ReSharper格式化:禁用删除匿名对象创建的空格
我不确定我的标题是否全部准确,但是,我想在格式化时将其删除空间删除空间的功能禁用该功能.以下图像描述了行为(red =格式之前,绿色=格式之后) : 您可以在id之前看到fileId之前的空间,因此: new { id = fileId } - > new {id = fileId} 我想禁用这种行为,实际上(如果可能的话)强制执行领先和尾随空间.我找不到在resharper->选项 - > c# - >格式化样式 - > Space Tab中的选项. 任何帮助将不胜感激 解决方案 您可以保持间距:Within single-line initializer braces. 在这里能找到它: resharper->选项 - >代码编辑 - > c# - >格式化样式 - > Space
12 2024-04-25
编程技术问答社区
Threading.task.dll中的冲突
我刚刚安装了 resharper 的Nuget软件包并构建解决方案,然后我在每个任务类型方法上都会遇到这些错误.看来这是由于两个Threading.Task.dll文件. 错误: 错误87在两个'c:\ program files(x86)\ reference assemblies \ microsoft \ framework.netcore.netcore.netcore \ v4.5 \ v4.5 \ system.threading.tasks.dlasks.dll'和'c:\ user \ emp70 \ documents \ visual Studio 2012 \ project \ fsop \ packages \ jetbrains.resharper.sdk.8.2.1158 \ build \ .. \ bin \ bin \ bin \ system.threading.dlreding.dll'C \ Documents \ Visual St
42 2024-04-24
编程技术问答社区
如何用ReSharper将一个区域中的特定类型的属性分组?
我想使用Resharper文件布局工具来自动进行我的课程.使用默认模式,它已经与大多数区域一起使用.由于我正在使用MVVM,因此我使用ICommands和操作人员.我想在自己的区域中分组所有命令,例如 #region Commands public ICommand NavigateToSettingsView { get { return new RelayCommand(OnNavigateToSettingsView); } } public ICommand NavigateToHistoryView { get { return new RelayCommand(OnNavigateToHistoryView); } } #endregion 我如何告诉Resharper,它将ICommand类型的属性分组为一个区域?它与选项"实施"不起作用. 这是我尝试的最后一个设置:
20 2024-04-24
编程技术问答社区
雷斯哈伯突然为雷泽尔合成显示红色
我不知道,突然的剃须刀语法显示为红色.我暂停并恢复,也关闭了VS,重新启动仍然相同.还有其他事情要做吗? 解决方案 在/web.config和views/web.config中检查引用.如果它们是正确的,请尝试清洁和重建.如果仍然不起作用,您可以手动删除bin文件夹,而VS将重新创建它.
10 2024-04-24
编程技术问答社区
Resharper 无法识别接口中未使用的成员
当在界面中声明方法并在类中实现,但在项目中没有调用任何地方时,Resharper不会将其检测为未使用的成员. 我必须清洁一个项目并删除这些成员,我该怎么做? 谢谢 解决方案 谢谢,我激活了选项"分析整个解决方案中的错误"和RESHARAPER列表所有未引用的成员. resharper-关闭解决方案宽分析
14 2024-04-24
编程技术问答社区
什么是"准实施"?
有时在搜索会员的参考时,我会得到这个弹出窗口,通常会花费很长时间,所以我倾向于取消.但是我想知道:我想念什么?什么是"准实施"? 解决方案 根据在resharper支持上的答案,quasi implementation是当类通过派生方法实现接口时,包含该实现的类未实现接口. IE.如下: public interface IProvideFoos { IFoo ProvideFoo( ) ; } public interface IFoo {} public class BaseWhatever { public IFoo ProvideFoo( ) => throw new NotImplementedException( ); } public class RealWhatever : BaseWhatever, IProvideFoos {} YouTrack for Resharper上的几个问题称其为相同 - 一个,两个 " https
18 2024-04-23
编程技术问答社区
在迭代器中访问C#基类会导致ReSharper警告
我有两个类,GenericList和SpecificList,其中SpecificList从GenericList继承. GenericList实现IEnumerable和SpecificList实现IEnumerable. SpecificItem从GenericItem继承.由于它们实现IEnumerable,因此我必须在GenericList和SpecificList中实现GetEnumerator.在GenericList中,这很容易,我只是退还了基础List的枚举者: public IEnumerator GetEnumerator() { return genericItemsList.GetEnumerator(); } 但是,在SpecificList中,这似乎更棘手.将IEnumerator施放到IEnumerator
18 2024-04-23
编程技术问答社区
当我要发布项目时:"指定的路径、文件名或两者都太长"。
当我想运行或发布网络项目时,我收到了此错误: 严重性代码描述项目文件行抑制状态 错误无法评估项目元数据"%(fullPath)".项目元数据"%(fullPath)"不能应用于路径" jquery-ui-1.10.3.3.custom \ development-bundle \ themes \ beses \ base \ base \ images \ ui-bg_highlight-soft_75_cccccccccccccccccccccccccc__1x100.png".指定的路径,文件名或两者都太长.完全合格的文件名必须小于260个字符,并且目录名称必须小于248个字符. 有人可以帮助我 解决方案 不要将您的项目保留在深嵌套文件夹中. 尝试将项目保留在 d:\ projects \ yourapp 中.这样您将不超过260限制. 其他解决方案 您已经达到了文件系统的最大路径长度.您必须使其更短,例如减少文件名.
10 2024-04-23
编程技术问答社区
这里的 "获得处置后的关闭 "是什么意思?
为什么Resmanper警告我有关以下代码示例中的"访问封闭式"的信息: using (SqlCommand command = new SqlCommand()) { command.Parameters.Add("@temp", SqlDbType.VarChar); Action action = str => { command.Parameters["@temp"].Value = string.Empty; }; } 我不在外面使用委托using语句...如何解决此问题? 解决方案 您在action中引用command,您可以在其他某个地方使用action,然后在using和reference中使用reference. resharper告诉您您可以访问处置的封闭,因为在using外部使用动作会导致这一点.避免使用类似的可支配对象,当然会抛出NullReferenceE
16 2024-04-23
编程技术问答社区
如何在ReSharper中重置foreach自动完成行为
如何将行为重置回载波中的原件?我不知道它是如何折断的(也许是自载器更新以来的错误),但是通常在键入foreach击中 tab> tab 并在list中键入并击中 tab 我再次期望 foreach(var VARIABLE in list) { } 但是,这发生了 foreach (var VARIABLE in list { } 禁用RESARARPER不会发生这种情况.我当前的版本是2017.2 Ultimate. 如果我可以逃脱而又不重置所有可以很好的重音手表设置. 解决方案 它是已知的问题 R#2017.2释放. 更新:此问题已在
14 2024-04-22
编程技术问答社区
无法使Reharper 9.1移动到资源的重构工作得以进行
我尝试应用此举以将重新分配到剃须刀文件中的字符串时收到此错误消息: "此项目不包含可用资源文件" 我尝试通过添加新项目以及添加项目设置对话框来添加Ressource文件.和建造等.一切都无济于事.有什么问题? 我正在使用Jetbrains Resharper Ultimate 2015.1.1构建102.0.20150521.123255 RESHARPER 9.1.20150521.134223 在ASP.NET MVC 5项目中的Visual Studio 2015 RC中. 有什么建议如何使此重构工作? 解决方案 使用您的"托管资源编辑器"(默认)打开.RESX文件,请查看屏幕顶部.有一个名为"访问修饰符"的下拉列表.将其设置为公共场所.完成. 其他解决方案 Bart Van Meerbeeck的答案对我来说对我的相同问题不起作用,尽管这绝对是最好的答案.但是,在我的案例中,问题是 me . 我正在一个大型解决方案中工作,而我试图进行此
10 2024-04-22
编程技术问答社区
Resharper认为typecast是多余的,但没有typecast,代码就不能工作了
迭代foreach (var jsonEntry in jsonData) 这会导致我的代码丢弃错误. InvalidOperationException: Instance of JsonData is not a dictionary LitJson.JsonData.EnsureDictionary () LitJson.JsonData.System.Collections.Specialized.IOrderedDictionary.GetEnumerator () LitJson.JsonData.System.Collections.IDictionary.GetEnumerator () 将对象施加到IList会导致Resharper发出警告"类型铸件是多余的." foreach (var jsonEntry in jsonData as IList) Resharper为什么认为演员是多余的? 解决方案 Resharper为什么认为
6 2024-04-22
编程技术问答社区
在ReSharper 7中,是否可以扩展字符串的语法突出显示?
resharper具有精美的功能,可以突出显示格式变量,例如string.format(): 现在,我已经写了一个格式字符串的扩展名,就像: public static string FormatWith(this string me, params object[] args) { return string.Format(me, args); } 所以我可以做: 现在,我想实现{0}和{1}的类似语法突出显示,每当字符串随后是.FormatWith时.这是否可以在Resmanper中? 解决方案 You can do this by using StringFormatMethodAttribute in JetBrains.Annotations package. [StringFormatMethod("me")] public static string FormatWith(this string me, params object
22 2024-04-22
编程技术问答社区
ToString和字符串连接--非预期行为
根据互联网进行 String someString = "" + object1 + object2 + object3; ToString()在每个对象上都调用. 但这没有发生! 此代码: String a = "a" + foo; String b = "b" + foo.ToString(); Console.WriteLine(a); Console.WriteLine(b); 打印: a b("key":"foo") 怎么可能? 我在整个项目上进行了全面清理,并且在某个地方打破了代码,因为它在这样的字符串concat中删除了ToString()!损失了很多小时.. 编辑: 这个问题发生在我正在使用的小型库中.我不能提供非常简短的一文件代码来重现此功能,但是我已经使用此库创建了小项目并将其上传到GitHub: 在 /program.cs 图书馆长1178行. 解决方案 如果您提供了public class Foo
12 2024-04-22
编程技术问答社区