在我正在运行的项目中,我需要将此代码编译为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
答案 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)
您的dll将位于项目的bin / debug目录中
答案 2 :(得分:2)
创建一个类库项目,将代码放在那里,修复命名空间,构建和vo!