トップ回答者
「XMLコメントが有効な言語要素の中にありません」の警告について

質問
-
おかしな現象を見つけました。
以下のような実装をすると、タイトルの警告がでます。
これは仕様ですか? ちょうど20個目から警告が出ます。
同じClass1に関するXMLコメントなので、ビルドすると結合されると思うのですが、その結合数に上限があるのでしょうか?
なお、プロジェクトのプロパティでXMLドキュメントファイルを出力するように設定をします。
namespace WindowsApplication1 { /// <summary> /// コメント1 /// </summary> public partial class Calss1 { } /// <summary> /// コメント2 /// </summary> public partial class Calss1 { }
// コメント3からコメント18までは省略
/// <summary> /// コメント19 /// </summary> public partial class Calss1 { } /// <summary> ←ここで警告 /// コメント20 /// </summary> public partial class Calss1 { }
// 21個目以降も警告になります。 }
回答
-
2005固有の現象なのでしょうか?
このフォーラムにおいて、開発陣から見解を聞くことはできません。
このため、Microsoft から情報を開示されているページを見つけない限り、固有の現象であるとか、仕様なのか、不具合なのか、それを断言することは困難です。
フォーラムを通してできることは上記のような状況ですが、どういったところを求めたご質問でしょうか?
何か情報を知っている人が教えて欲しいというニュアンスなのでしょうか?
公式の回答が欲しいというのであれば、サポートから聞き出すか、KB や Connect などで探すかと言うことになりそうです。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。- 回答としてマーク かずし 2009年11月24日 0:28
-
> また、同じことをVS2008で試したら警告は出ませんでした。
> 2005固有の現象なのでしょうか?
・Visual Studio 2005 Pro / XP Pro SP3
で試してみたところ、確かに以下の警告が出ました。
「警告 CS1587: XML コメントが有効な言語要素の中にありません。」
こちらの環境では 21個目から発生しました。
さすがに partial class を大量に用意してコメントを結合しようとは誰も思わないのか
ネットで探しても、この件に関する情報は出てないようですね。(^ω^;- 回答としてマーク かずし 2009年11月24日 0:28
-
仕様としては<summary>タグの出現回数は定義されていませんが、一般的には1つです。今回のようにpartialで連ねられると出現順序が保証されませんし。
20個以上の<summary>タグを連ねたいということでしたら
/// <summary> 1</summary>
のようにされるとVisual Studio 2005でも警告は出ません。
/// <summary> 2</summary>
/// <summary> 3</summary>
/// <summary> 4</summary>
/// <summary> 5</summary>
/// <summary> 6</summary>
/// <summary> 7</summary>
/// <summary> 8</summary>
/// <summary> 9</summary>
/// <summary> 10</summary>
/// <summary> 11</summary>
/// <summary> 12</summary>
/// <summary> 13</summary>
/// <summary> 14</summary>
/// <summary> 15</summary>
/// <summary> 16</summary>
/// <summary> 17</summary>
/// <summary> 18</summary>
/// <summary> 19</summary>
/// <summary> 20</summary>
/// <summary> 21</summary>
/// <summary> 22</summary>
public partial class Class1 {
}
ちなみにVS2005とVS2008との違いというよりは
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\csc.exe
%SystemRoot%\Microsoft.NET\Framework\v3.5\csc.exe
の違いです。
バージョンが上がって、仕様外の機能に対してこっそり修正されたのかと思います。- 回答としてマーク かずし 2009年11月24日 0:27
すべての返信
-
-
2005固有の現象なのでしょうか?
このフォーラムにおいて、開発陣から見解を聞くことはできません。
このため、Microsoft から情報を開示されているページを見つけない限り、固有の現象であるとか、仕様なのか、不具合なのか、それを断言することは困難です。
フォーラムを通してできることは上記のような状況ですが、どういったところを求めたご質問でしょうか?
何か情報を知っている人が教えて欲しいというニュアンスなのでしょうか?
公式の回答が欲しいというのであれば、サポートから聞き出すか、KB や Connect などで探すかと言うことになりそうです。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。- 回答としてマーク かずし 2009年11月24日 0:28
-
> また、同じことをVS2008で試したら警告は出ませんでした。
> 2005固有の現象なのでしょうか?
・Visual Studio 2005 Pro / XP Pro SP3
で試してみたところ、確かに以下の警告が出ました。
「警告 CS1587: XML コメントが有効な言語要素の中にありません。」
こちらの環境では 21個目から発生しました。
さすがに partial class を大量に用意してコメントを結合しようとは誰も思わないのか
ネットで探しても、この件に関する情報は出てないようですね。(^ω^;- 回答としてマーク かずし 2009年11月24日 0:28
-
仕様としては<summary>タグの出現回数は定義されていませんが、一般的には1つです。今回のようにpartialで連ねられると出現順序が保証されませんし。
20個以上の<summary>タグを連ねたいということでしたら
/// <summary> 1</summary>
のようにされるとVisual Studio 2005でも警告は出ません。
/// <summary> 2</summary>
/// <summary> 3</summary>
/// <summary> 4</summary>
/// <summary> 5</summary>
/// <summary> 6</summary>
/// <summary> 7</summary>
/// <summary> 8</summary>
/// <summary> 9</summary>
/// <summary> 10</summary>
/// <summary> 11</summary>
/// <summary> 12</summary>
/// <summary> 13</summary>
/// <summary> 14</summary>
/// <summary> 15</summary>
/// <summary> 16</summary>
/// <summary> 17</summary>
/// <summary> 18</summary>
/// <summary> 19</summary>
/// <summary> 20</summary>
/// <summary> 21</summary>
/// <summary> 22</summary>
public partial class Class1 {
}
ちなみにVS2005とVS2008との違いというよりは
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\csc.exe
%SystemRoot%\Microsoft.NET\Framework\v3.5\csc.exe
の違いです。
バージョンが上がって、仕様外の機能に対してこっそり修正されたのかと思います。- 回答としてマーク かずし 2009年11月24日 0:27