zoukankan      html  css  js  c++  java
  • 将程序集添加到GAC

    (点击查看大图)图2-6  在命令提示符下使用SN实用程序

    在通过类库项目的属性用强名签署程序集时,必须指定强名文件。这可以通过从工具栏中选择Project | Properties命令完成。在出现属性窗口时,选择Signing选项卡,选中Sign the assembly复选框,如图2-7所示。使用下拉菜单,选择Browse找到已创建的密钥文件来创建一个强名密钥文件。如果还没有使用SN实用程序创建密钥文件,可以从下拉菜单中选择New(而非Browse)进行创建。

     
    (点击查看大图)图2-7  使用属性窗口中Signing选项卡

    正如图2-8所示,Visual Studio 2005使得创建新密钥变得更容易,还提供了口令保护选项。

     
    (点击查看大图)图2-8  使用Visual Studio 2005创建强名密钥

    在属性窗口中,选择Compile选项卡,设置configuration为Active (Release)。这就删除了任何调试信息,为生产优化了程序集。没有设置为Release,就不能将代码送至生产,或是代码将运行得特别缓慢。现在可以从工具栏中选择Build | Build Solution来构建项目。注意要构建输出路径,因为在将程序集添加到GAC中时需要用到它。

    将程序集添加到GAC的最简单的方法是将程序集复制到C:\WINDOWS\assembly。不过,C:\Program Files\ Microsoft.NET\SDK\v2.0\Bin中的Global Assembly Cache Tool (Gacutil.exe)也可以使用。也可以通过Start | All Programs | Microsoft Visual Studio 2005 | Visual Studio Tools | Visual Studio 2005 Command Prompt访问该工具的路径。记住,如果使用的.NET版本不同,路径会有所不同。在命令提示符中,输入gacutil.exe /i "<程序集路径>"来启动该实用程序,如图2-9所示。

     
    (点击查看大图)图2-9  通过命令提示符启动gacutil.exe

    程序集也必须放在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727路径中(同样,最后的文件夹名会因安装的.NET版本不同而不同)。Visual Studio for Applications将从中寻找引用。如果Script Task在设计模式下,可以右击左侧Project Explorer窗格中的References。然后选择Add Reference来引用程序集。然后将出现可引用的程序集列表。选择程序集的名称并单击Add按钮,可以添加引用。添加的程序集将出现于Add Reference窗口中,如图2-10所示。单击OK按钮完成添加并关闭窗口。

     
    (点击查看大图)图2-10  添加一个引用

    在添加完引用后,下列代码会显示如何从Script Task调用自定义程序集。两个Script Task变量被通过对象的构造函数传递到自定义程序集SSIS.Utilities.HttpDownload。在使用下列代码之前,在Script Task的ReadOnlyVariables属性中设置这两个变量很重要。

    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Net
    Imports System.IO
    Imports System.Windows

    Public Class ScriptMain

    Public Sub Main()
    Dim strUrl As String = CStr(Dts.Variables("varHttp").Value)
    Dim strFile As String = CStr(Dts.Variables("varSaveFile").Value)
    Using DownloadFile As SSIS.Utilities.HttpDownload = New
    SSIS.Utilities.HttpDownload(strUrl, strFile)
    DownloadFile.GetFile()
    End Using
    Dts.TaskResult = Dts.Results.Success
    End Sub
    End Class

    在运行这个程序包之前,请确保将这两个变量的值设置为有用的内容,否则代码将不知道访问哪个URL和保存结果文件的位置。可以再次打开Variables窗口,通过手动为strUrl变量值和strSaveFile变量值输入有效的URL和有效的文件来设置变量。运行程序包,然后就会看到在指定的位置创建的文件。

    任何时候使用自定义程序集时,都很有必要实现它们之前进行测试。测试程序集功能的简单方法是添加一个创建自定义对象的Windows项目到类库项目所属的相同的解决方案中(见图2-11)。添加Windows项目的方法是,右击类库项目的解决方案,单击Add | New Project,选择Windows Application。在Windows项目中,右击选择References | Add References | Projects,将自定义库项目添加为引用。所需要添加的是测试该自定义对象的按钮。注意,下列代码中Windows项目是用C#编写的。这是Visual Studio 2005中的一个新功能,使您可以添加不同代码类型的项目。可以添加下列代码来测试程序集。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.IO;
    using SSIS.Utilities;
    using System.Configuration;

    namespace WindowsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void GetFromWebClient()
    {
    using (HttpDownload httpDL = new
    HttpDownload("http://localhost/CSVDownload/Delimited.txt",
    @"C:\Documents and Settings\Administrator\Desktop\YouDidit.txt"))
    {
    httpDL.GetFile();
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    try
    {

    GetFromWebClient();

    }
    catch(Exception ex1)
    {
    MessageBox.Show(ex1.Message);
    }
    }
    }
    }

    GetFromWebClient()方法实例化自定义对象HttpDownload,接受一个URL和文件路径。然后在button1_Click事件中调用这一方法,这一事件在窗体中的按钮被单击时调用。您的按钮的名称可能有所不同,所以可适当改变这一事件的名称。现在已经有两个项目,Windows窗体项目必须设置为启动项目。设置的方法是右击Windows项目,选择Set as Startup Project。在解决方案运行后,如果没有问题,会弹出一个消息框表明没有错误发生。

    如果代码正确运行,程序集就可以从Script Task中引用。

     
    (点击查看大图)图2-11  将程序集作为Windows项目测试
  • 相关阅读:
    Linux磁盘文件的命名
    操作系统的基本介绍
    CMOS、BIOS
    CPU的频率、外频、倍频与超频
    学习Linux——计算机概论
    第三季-第14课-有名管道通讯编程
    第三季-第13课-无名管道通讯编程
    第三季-第12课-多进程程序设计
    第三季-第11课-进程控制理论
    第三季-第10课-时间编程
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1754121.html
Copyright © 2011-2022 走看看