2010-12-21 11 views
10

私は元々の開発者だったプロジェクトに取り組んでいますが、ここ2年間で2人の他の開発者がプロ​​ジェクトを維持してアップグレードしました。先頭に次の持つ内部のいくつかのクラスファイルが存在することになりますC#プロジェクトには自動生成されたクラスがありますが、自動生成されたものは何ですか?

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by a tool. 
//  Runtime Version:2.0.50727.1433 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 

using System.Xml.Serialization; 

// 
// This source code was auto-generated by xsd, Version=2.0.50727.1432. 
// 

これらのファイルを生成している可能性がどのような任意のアイデア?そのうちの1つの中にいくつかの問題がありますが、私は解決したいと思いますが、変更が上書きされる可能性があります。

+4

このコメントは、それが 'xsd'によって生成されたことを示しています。 –

+4

"このソースコードはxsd、バージョン= 2.0.50727.1432によって自動生成されました。" - プレゼントになるかもしれません... – Reddog

+0

"このコードは' a tool'によって生成されました。このプロジェクトの文書をチェックして、どのツールを使用しているかを確認する必要があります。 –

答えて

11

XML Schema Definition Toolです。何をきれいにしたいですか?

Xsd.exeではによって実行された操作の1つが問題のクラスファイルに生成するものである「クラスへXSD」、であることに注意してください:
からランタイムクラスを生成します

XSDクラスへのXSDスキーマファイル。生成されたクラスは、System.Xml.Serialization.XmlSerializerと共に使用して、スキーマに続くXMLコードを読み書きできます。

exe自体との互換性を維持しながら出力を変更するには、ソースXSDファイルを変更してからXsd.exeを再実行する必要があります。

1

XSD.exeが生成しました。 .NET SDKのツールで、XSDスキーマを使用し、スキーマに一致するシリアライズ可能なクラスを生成します。

プロジェクトのプロパティで[ビルド前]を確認してください。私はあなたがxsd.exeへの呼び出しを見つけるだろうと確信しています。そうでない場合は、.csprojファイル(MSBuild)で定義されたディレクティブである可能性があります。実行時にそれらが生成されていることを確実に知っていますか?それとも手で作られてチェックインされたのですか?

私が正しく覚えていれば、生成されたクラスは部分クラスなので、部分クラスを使って機能を追加できますが、ビルド時に生成されたクラスは変更できません。

クラスを変更する場合は、アプリケーションがファイルを生成するために使用しているXSDファイルを変更する必要があります。

関連する問題