Visual studio 2010 没有在本地构建中获得CA1822
我知道软件工程师通常不会尖叫,嘿,我没有出错,你能帮我弄一个吗!但目前我需要在本地显示此错误,因为它在我们的Visual studio 2010 没有在本地构建中获得CA1822,visual-studio-2010,msbuild,build-automation,code-analysis,Visual Studio 2010,Msbuild,Build Automation,Code Analysis,我知道软件工程师通常不会尖叫,嘿,我没有出错,你能帮我弄一个吗!但目前我需要在本地显示此错误,因为它在我们的CI构建中失败。当我不在本地获取错误时,要抑制它就困难多了(,请相信我,我只需要抑制它,因为它是从WF工作流生成的代码,),因为成员名称的语法充其量是痛苦的 构建服务器的CI构建使用Release配置,我正在本地构建Release,因此理想情况下我会得到相同的错误(通常是这样) 以下是我的项目文件中我的版本部分的快照: <PropertyGroup Condition=" '$(Co
CI
构建中失败。当我不在本地获取错误时,要抑制它就困难多了(,请相信我,我只需要抑制它,因为它是从WF工作流生成的代码,),因为成员名称的语法充其量是痛苦的
构建服务器的CI构建使用Release
配置,我正在本地构建Release
,因此理想情况下我会得到相同的错误(通常是这样)
以下是我的项目文件中我的版本
部分的快照:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>..\..\SolutionAnalysis.ruleset</CodeAnalysisRuleSet>
<StyleCopEnabled>true</StyleCopEnabled>
<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
<NoWarn>1591</NoWarn>
</PropertyGroup>
pdbonly
真的
垃圾箱\
痕迹
促使
4.
真的
真的
..\..\SolutionAnalysis.ruleset
真的
假的
1591
在生成服务器上,我收到了此错误(为安全起见,删除了类型和路径名):
obj\Release\WorkflowName\u beforeignalizeComponentHelper.cs(18):CA1822:Microsoft.Performance:“WorkflowName.beforeignalizeComponent(ref bool)”的“this”参数(或Visual Basic中的“Me”)从未使用过。将成员标记为静态(或在Visual Basic中共享),或在方法体中使用“this”/“Me”,或至少使用一个属性访问器(如果适用)
我希望你们能帮我弄清楚为什么VisualStudio没有在
发行版
本地构建过程中出现错误。。。哦,疯狂 好的,我现在通过升级本地版本的StyleCop在本地得到了这个错误。我不知道为什么这对代码分析有任何影响,但老实说,所有这些工具都不能很好地配合使用,因为我们在整个组织范围内也安装了ReSharper,这造成了很多麻烦
因此,也就是说,我最终解决这个问题的方法是为每个WF活动构建partial
类,即XAML文件**,如下所示:
// ReSharper disable CheckNamespace
namespace {namespace}
// ReSharper restore CheckNamespace
{
using System.CodeDom.Compiler;
/// <summary>
/// Sets up the [GeneratedCode] attribute for the generated workflow class so that code analysis isn't performed.
/// </summary>
[GeneratedCode("", "1.0")]
public partial class {classname}
{
}
}
//ReSharper禁用CheckNamespace
名称空间{namespace}
//ReSharper还原检查命名空间
{
使用System.CodeDom.Compiler;
///
///为生成的工作流类设置[GeneratedCode]属性,以便不执行代码分析。
///
[生成代码(“,“1.0”)]
公共部分类{classname}
{
}
}
您可以从组成WF活动的XAML中的x:Class
属性中收集{namespace}
和{classname}
(右键单击XAML文件并选择“查看代码”)
**WF服务(即XAMLX文件)不需要它们