포럼: 掲示板 (Thread #6050)

XmlDocumentationCache.GetForXml (2004-09-26 17:11 by data #11181)

クラスのメンバページに、明示的に派生していないメソッド(ToStringやFinalizeなど)のコメントが生成されません。英語環境では生成されるようです。
原因は、ローカライズされた外部ドキュメントを探せないことです。1.3では既に対応がなされているようですが、しばらく1.3の安定版が出ないので、1.2日本語版で対応してもらえるとありがたいです。

修正箇所は、以下のとおりです。Core\XmlDocumentationCache.csの104行目あたり
if (docPath == null )
{
#if false
string frameworkPath = this.GetDotnetFrameworkPath(FileVersionInfo.GetVersionInfo(assemblyPath));

if (frameworkPath != null)
{
docPath = Path.Combine(frameworkPath, a.GetName().Name + ".xml");
}
#else
string frameworkPath = this.GetDotnetFrameworkPath(FileVersionInfo.GetVersionInfo(assemblyPath));

if (frameworkPath != null)
{
string localizationLanguage = System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
string localizedFrameworkPath = Path.Combine(frameworkPath, localizationLanguage);
if (Directory.Exists(localizedFrameworkPath))
{
docPath = Path.Combine(localizedFrameworkPath, a.GetName().Name + ".xml");
}
if ((docPath == null) || (!File.Exists(docPath)))
{
docPath = Path.Combine(frameworkPath, a.GetName().Name + ".xml");
}
}
#endif
}

Reply to #11181×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: XmlDocumentationCache.GetForXml (2004-09-29 10:25 by yang #11219)

ご意見、ソース共ありがとうございます。
英語版v1.3で対応されている機能であれば、日本語版v1.2で対応しても良いと思いますので、実装してみたいと思います。

あと、今現在本業の方が忙しいので、公開までは少し時間をください。
Reply to #11181

Reply to #11219×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: XmlDocumentationCache.GetForXml (2004-10-06 11:02 by data #11402)

System.Web.xmlが読み込まれないですね。
直しました。

#if false
if (docPath == null )
{
string frameworkPath = this.GetDotnetFrameworkPath(FileVersionInfo.GetVersionInfo(assemblyPath));

if (frameworkPath != null)
{
docPath = Path.Combine(frameworkPath, a.GetName().Name + ".xml");
}
#else
if (docPath == null || !File.Exists(docPath))
{
string frameworkPath = this.GetDotnetFrameworkPath(FileVersionInfo.GetVersionInfo(assemblyPath));

if (frameworkPath != null)
{
string localizationLanguage = System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
string localizedFrameworkPath = Path.Combine(frameworkPath, localizationLanguage);
// System.Windows.Forms.MessageBox.Show(localizedFrameworkPath);
if (Directory.Exists(localizedFrameworkPath))
{
docPath = Path.Combine(localizedFrameworkPath, a.GetName().Name + ".xml");
}
if ((docPath == null) || (!File.Exists(docPath)))
{
docPath = Path.Combine(frameworkPath, a.GetName().Name + ".xml");
}
}
#endif
}
Reply to #11181

Reply to #11402×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: XmlDocumentationCache.GetForXml (2004-10-29 19:57 by yang #11690)

今日、時間が空いたので思い出したかのように実装してみました。
ちゃんと、ToString などのメッセージが表示されていい感じです。

でも、CollectionBase などを継承して作成したクラスで、「明示的なインターフェイスの実装」項目は表示してくれませんでした。
(具体的な調査は一切していません。)
まあ、「明示的なインターフェイスの実装」は実装といいつつもインターフェイスの役割を隠しているだけですからね。
特殊なのかもしれません。

もうちょっと触ってみようと思います。
Reply to #11402

Reply to #11690×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login