0

我知道軟件工程師通常不會尖叫,嘿,我沒有得到一個錯誤,你能幫我得到一個!但是目前我需要這個錯誤才能在本地顯示,因爲它在我們的CI版本上失敗。當我沒有在本地獲取錯誤時,因爲成員名稱的語法充其量是痛苦的,所以更難以壓制(,請相信我,因爲它是從WF工作流程生成代碼的,所以我只需要抑制它)。沒有獲得本地構建的CA1822

構建服務器的CI構建使用Release配置,我在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> 

而且我得到這個錯誤(出於安全刪除類型和路徑名)在構建服務器:

OBJ \發佈\ WorkflowName_BeforeInitializeComponentHelper.cs(18):CA1822:Microsoft.Performance:在 '這個' 參數(或 '我' 在Visual基本)'WorkflowName.BeforeInitializeComponent(ref bool)'從不使用。將該成員標記爲static(或Visual Basic中的Shared),或者在方法體中使用'this'/'Me',或者至少使用一個屬性訪問器(如果適用)。

我希望你們能幫助我弄清楚爲什麼Release構建過程中Visual Studio是不堆焊本地錯誤......哦瘋狂!

回答

0

好的,所以我現在通過升級我的本地版本的StyleCop在本地出現此錯誤。我不確定爲什麼這對代碼分析有什麼影響,但老實說,所有這些工具都不能很好地發揮作用,因爲我們還在組織範圍內安裝了ReSharper,這會導致很多悲傷。

所以,他這樣說,我結束瞭解決這個反正方式是建立partial類各WF活動,即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} 
    { 
    } 
} 

可以收集在組成WF活動的XAML中從x:Class屬性中選擇{namespace}{classname}(右鍵單擊XAML文件並選擇「查看代碼」)。

**您不需要它們用於WF服務,即XAMLX文件