65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.31/5 (9投票s)

2007年4月24日

CPOL

4分钟阅读

viewsIcon

55296

downloadIcon

427

本文介绍了在 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 的目录中创建日志文件,但它们可以在应用程序结构的任何位置创建。 位置在 LogFileAppenderRollingLogFileAppender 属性配置下的 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 应用程序。

© . All rights reserved.