1

log4net を使用するプロジェクトがあり、開発者のマシンで正常に動作します。ビルドすると、ビルド スクリプトのステップで AssemblyInfo タスクが呼び出され、バージョン番号や日付などが設定されます。ただし、AssemblyInfo ファイルでは次の行も失われます。

[アセンブリ: XmlConfigurator(Watch = true)]

AssemblyInfo タスクでその行を上書きしないようにする方法、または逆に、AssemblyInfo タスクでその行をファイルに再挿入する方法はありますか (適切な using ステートメントと共に)。

4

2 に答える 2

2

実際には、アセンブリにコンパイルされる任意のファイルに log4net [assembly: ...] 行を配置できます。多くの場合、"main" メソッドを含む .cs ファイルに入れるだけで、問題なく動作します。

于 2009-04-09T07:56:29.833 に答える
1

少し考え方を変えて、アセンブリ情報ファイルを 1 つだけ持つ必要はありません。

各プロジェクトには 3 つのアセンブリ情報ファイルがあります。

  1. AssemblyInfo.cs - Guid、AssemblyTitle、AssemblyDescription、およびアセンブリ固有の属性が含まれています。

  2. ProductAssemblyInfo.cs - AssemblyProduct、AssemblyVersion、および AssemblyFileVersion が含まれています。このようにして、製品/ソリューション内のすべてのアセンブリが同じバージョンを共有します。

  3. CompanyAssemblyInfo.cs - AssemblyCompany、AssemblyCopyright、およびすべてのアセンブリで共有する属性が含まれています。

アイテム 2 と 3 は、「リンクとして追加」を使用して参照されます。このようにして、単一のソース コードから共有されます。現在、同じアプローチを採用したくない場合もありますが、同様の構造を使用して、XmlConfigurator をアセンブリ バージョンの詳細とは別のアセンブリ情報ファイルに配置することもできます。

于 2009-04-07T14:57:50.883 に答える