如何将这个C#代码编译成DLL?

时间:2011-10-18 17:56:49

标签: c# visual-studio dll compiler-construction

在我正在运行的项目中,我需要将此代码编译为DLL:

// svgzHandler.cs 
using System; 
using System.Web;
namespace svgzHandler
{
    public class svgzHandler : IHttpHandler
    {
        #region IHttpHandler メンバー
        public bool IsReusable { get { return true; } }
        public void ProcessRequest(HttpContext context)
        {
            HttpResponse r = context.Response;
            r.ContentType = "image/svg+xml";
            r.AppendHeader("Content-Encoding", "gzip");
            r.WriteFile(context.Request.PhysicalPath);
        }
        #endregion
    }
}

只有我不是程序员,并且没有任何想法,这一切都意味着什么。那么,日文字符应该被替换为什么?它是一个文件夹吗?一份文件?

我有Visual Studio 2010 Ultimate,所以我有编译器,但这是我曾经触及过的第一部C#代码。

谢谢你的帮助!

P.S:我不知道这是否会有所帮助,但这是带有说明的网站(翻译自日语):http://www.microsofttranslator.com/bv.aspx?ref=Internal&from=&to=en&a=http://blog.wonderrabbitproject.net/post/2009/06/13/svgze381aee3838fe383b3e38388e383a9e38292IIS75e381a6.aspx

3 个答案:

答案 0 :(得分:14)

日语字符位于节名称内,编译器会忽略该节名称。如果他们打扰你,你可以完全摆脱#region#endregion行。 组织代码是Visual Studio的事情,编译器不使用它们。因此,要编译到程序集,只需在类库的类型的Visual Studio中创建一个新项目,并将此类添加到它。您必须引用System.Web程序集才能成功编译,因为此代码中使用的IHttpHandler接口已定义。

所以实际的代码可能只是(svgzHandler.cs):

namespace svgzHandler 
{
    using System; 
    using System.Web; 

    public class svgzHandler : IHttpHandler
    {
        public bool IsReusable { get { return true; } }

        public void ProcessRequest(HttpContext context)
        {
            HttpResponse r = context.Response;
            r.ContentType = "image/svg+xml";
            r.AppendHeader("Content-Encoding", "gzip");
            r.WriteFile(context.Request.PhysicalPath);
        }
    } 
}

顺便说一句,你甚至不需要Visual Studio来编译。您可以直接使用C# compiler

c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /target:library svgzHandler.cs

会吐出svgzHandler.dll集会。

答案 1 :(得分:3)

  1. 创建新的类库项目(文件 - >新项目 - >类库)
  2. 添加对System.Web的引用(右键单击solution explorere中的“References”,转到.NET选项卡,选择System.Web)
  3. 用你的代码替换默认class1.cs文件中的代码,只需剪切和粘贴,不用担心外来字符,它们只是在编译器不关心的区域语句中
  4. 构建(选择构建菜单选项,然后构建解决方案)
  5. 您的dll将位于项目的bin / debug目录中

答案 2 :(得分:2)

创建一个类库项目,将代码放在那里,修复命名空间,构建和vo!