如何在 VS.NET 2005 中创建可重用的自定义项目模板






4.31/5 (9投票s)
本文介绍了在 VS.NET 中创建项目模板的基本步骤,该模板可以作为自定义模板在其他项目中重用。
引言
本文概述了在 Visual Studio .NET 2005 中创建自定义项目模板的必要步骤。 举例来说,它专门展示了如何使用 Apache Log4Net 程序集创建一个自定义的“Logger”模板。 示例代码使用 VB.NET 实现。
背景
您的机器必须安装 .NET Framework 2.0+。 此外,对于本例,需要使用 Log4Net 程序集的最新版本。 可以在 [此处] 下载 Log4Net。
使用代码
为了成功地将项目导出为 .NET 项目模板,您首先必须确保 "导出模板" 菜单项在 "文件" 菜单中可用。 如果它不存在,必须通过 IDE 选项添加。 这可以通过单击“工具-->自定义...”然后选择“命令”选项卡来完成。 在此选项卡中,单击左侧的“文件”项,然后单击底部的“重新排列命令...”按钮。 单击右上角的“添加...”按钮,然后在类别列表中再次单击“文件”,然后在命令列表中单击“导出模板...”。 我将该命令放在“保存所选项目”菜单选项的正上方
关闭“重新排列命令”屏幕和“自定义”窗口。 您的“文件”菜单现在应该包含新添加的命令
现在我们可以开始我们的项目了。 对于本例,我们将在 VB.NET 中创建一个 Windows 应用程序。 转到 文件 -> 新建 -> 项目,并从 Visual Basic 项目类型中选择“Windows 应用程序”。 我将项目命名为 WinAppWithLogging
现在必须进行必要的引用以利用项目中 Log4Net 的功能。 将以下引用添加到项目中(右键单击“解决方案视图”中的“引用”,然后选择“添加引用”)
- System.Configuration
- log4net.dll(可以通过使用“浏览...”选项并搜索下载的 log4net 包文件夹来获取)
接下来,通过右键单击“解决方案视图”中的项目,然后选择“添加-->新项目...”,将应用程序配置文件添加到项目中。 我们将使用此文件来配置项目的 log4net 属性。
打开 app.config 文件,并在 <system.diagnostics>
节下方添加以下代码块(这是一个用于设置常规文件日志并滚动追加日志的基本配置;有关如何配置 log4net 程序集的更详细说明,请参阅 Appache log4net 网站)
<!-- This section contains the log4net configuration settings -->
<log4net Debug="false">
<!--define the appenders-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="App_logs\WinAppAppenderLog.txt" />
<!-- Example using environment variables in params -->
<!-- <file value="${TMP}\log-file.txt" /> -->
<appendToFile value="true" />
<!-- An alternate output encoding can be specified -->
<!-- <encoding value="unicodeFFFE" /> -->
<layout type="log4net.Layout.PatternLayout">
<header value="[Start Log]" />
<footer value="[End Log]" />
<conversionPattern value="%date [%-5level] (%logger)- %message%newline" />
</layout>
<!-- Alternate layout using XML
<layout type="log4net.Layout.XMLLayout" /> -->
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="App_logs\RollingWinAppAppenderLog.txt" />
<appendToFile value="true" />
<maxSizeRollBackups value="250" />
<maximumFileSize value="150000" />
<rollingStyle value="Size" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Start Log]" />
<footer value="[End Log]" />
<conversionPattern value="%date [%-5level] (%logger)- %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
请注意,我选择了让应用程序在名为 App_logs 的目录中创建日志文件,但它们可以在应用程序结构的任何位置创建。 位置在 LogFileAppender
和 RollingLogFileAppender
属性配置下的 value
属性中定义。
最后,我们需要在我们的主窗体中添加一些初始代码。 打开 Form1.vb,并将以下代码添加到类标头
Imports System.Configuration
Imports System.Reflection
Imports log4net
<Assembly: log4net.Config.XmlConfigurator(Watch:=True) />
Public Class MainForm
Private log As ILog = _
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType)
Private Sub MainForm_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'to use log object:
'
'log.LogInfo("message to log...")
'
''''''''''''''''''''''''''''''''
End Sub
...
这将告诉编译器使用 Log4Net XMLConfigurator
类来利用在 app.config 中定义的配置。
或者,可以创建一个单独的类来使用 log
对象。 我已将此方法包含在示例源代码中。 这将使该对象可以在应用程序代码的每个窗体中全局使用。
我们现在可以构建项目(构建-->构建 WinAppWithLogging),以生成我们的新项目程序集。
现在我们已经构建了我们的项目,我们准备将其导出为新的项目模板。 只需单击“文件-->导出模板...”并确保选中“项目模板”
在“导出模板”向导中单击“下一步”,并根据需要填写必要的框。 我保留了默认复选框,但您可以为模板输入描述,以及一个自定义图标,该图标将显示在 Visual Studio 的项目类型列表中。
现在单击“完成”。 这将在“我的导出的模板”目录中创建一个 .zip 文件,IDE 将使用该文件将新模板加载到项目类型列表中。
要查看和使用新的项目模板,请关闭 Visual Studio 并再次启动它。 如果您转到“文件-->新建-->项目...”并在“Visual Basic”项目类型中查看,您应该会看到新的“WinAppWithLogging”项目模板
现在,您可以将此自定义创建的模板用于任何需要文件日志记录的 Windows 应用程序。