5

PublicSettingsSingleFileGeneratorカスタム ツールからSettings.Designer.csファイルを自動生成する Visual Studio 2008 プロジェクトで.Settingsファイルを使用しています。

これは問題なく動作しますが、コンパイル オプションで「エラーとしての警告」を有効にして、全員に XML コメントを最新の状態に保つように強制したいのですが、auto 内のすべての要素にコメントを追加する方法がわかりません。 -生成されたコード。

実際のプロパティには、デザイン ビューで要素を選択し、プロパティ ウィンドウ内で「説明」を追加することにより、コメントを追加できます。しかし、クラス宣言またはデフォルトのインスタンス プロパティに対してこれを行う方法はないようです。

この問題を再現する手順は次のとおりです。

  1. 新しいプロジェクトを作成する
  2. プロジェクトに設定ファイルを追加する
  3. 設定ファイルの「Access Modifier」をPublicに設定
  4. プロジェクトのプロパティ、ビルド セクションに移動します。
  5. 「警告をエラーとして扱う」をすべてに設定します
  6. [出力 XML ドキュメント ファイル] オプションを確認します。
  7. ソリューションを構築する

これは、PublicSettingsSingleFileGenerator Settings.Designer.cs ファイルで生成されるコードです。

namespace SettingsTest {

    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
    public sealed partial class Settings1 : global::System.Configuration.ApplicationSettingsBase {

        private static Settings1 defaultInstance = ((Settings1)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings1())));

        public static Settings1 Default {
            get {
                return defaultInstance;
            }
        }
    }
}

この追加情報を質問セクションの一部にする必要があるかどうかはわかりません。回答を指し示しているからです。

このリンクによると、クラスに適用される属性が間違っているようです。

http://blogs.msdn.com/b/codeanalysis/archive/2007/04/27/correct-usage-of-the-compiler generatedattribute-and-the-generatedcodeattribute.aspx

" CompilerGenerateAttribute - この属性はコンパイラ専用であり、特定のコード要素がコンパイラによって生成されることを示します。これはソース コードでは決して使用しないでください。"

" GeneratedCodeAttribute - この属性は、コードを生成するカスタム ツールで使用するためのものです。何度も再生成されるコードにのみ適用する必要があり、ユーザーが変更することが予想されるテンプレートでは使用しないでください。また、適用しないでください。生成される型が部分クラスの場合、型レベルで。この状況では、型の生成された部分に含まれる個々のメンバーに対してのみ適用する必要があります。」

アップデート

Microsoft Connect サイトでこれに関するバグ レポートを提出しました。更新し、さらに情報が得られたら回答を受け入れますhttp://connect.microsoft.com/VisualStudio/feedback/details/634692/publicsettingsinglefilegenerator-code-処理警告としてエラーが設定されている場合に失敗します-all-and-xml-documentation-is-on

4

4 に答える 4

2

これを行う良い方法はありません。自動生成されたファイルに #pragma warning disable を挿入することはできません。Winformsデザイナーファイルにも問題があります。Project + Properties、Build タブ、Suppress warnings = 1591。ただし、これにより、オンにしたい場所でも診断が無効になります。#pragma warning restore はそれを修正しません。

于 2011-01-04T17:04:12.673 に答える
1

残念ながら、競合する問題\設定があります:

  • XML ドキュメントの生成では、パブリック メンバーに関する不足しているすべてのコメントについて警告が表示されます。
  • 「警告をエラーとして扱う」がオンになっています (良いことです)。
  • 変更できないクラス、つまり生成された設定に関して警告が発生しています。

この結果、修正できないコンパイラ エラーに変換される警告が発生します。次回クラスが再生成されるときにコメントが失われるため、設定クラスに手動でコメントを確実に追加することはできません。

設定を別のプロジェクトに配置し、そのプロジェクトで XML ドキュメントをオフにすることを検討してください。

于 2011-01-04T16:43:32.517 に答える
0

設定は部分的なクラスです。2番目の空の部分を作成してコメントします。

于 2011-01-04T16:36:27.613 に答える
0

Visual Studio 2010 でのアプリケーション設定の文書化 (XML)を参照してください。

各設定には description プロパティがあり、これにより、生成されたコードに XML コメントが作成されます。VS2010で動作するようにテストされています。

于 2012-05-30T20:57:36.553 に答える