Как скомпилировать этот код C # в DLL? - PullRequest
1 голос
/ 18 октября 2011

В проекте, который я выполняю, мне нужно скомпилировать этот код в 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 #, к которому я когда-либо прикасался.

спасибо за вашу помощь!* PS: я не знаю, поможет ли это, но это сайт с инструкциями (перевод с японского): http://www.microsofttranslator.com/bv.aspx?ref=Internal&from=&to=en&a=http://blog.wonderrabbitproject.net/post/2009/06/13/svgze381aee3838fe383b3e38388e383a9e38292IIS75e381a6.aspx

Ответы [ 3 ]

14 голосов
/ 18 октября 2011

Японские символы находятся внутри имени раздела, которое игнорируется компилятором.Вы можете полностью избавиться от линий #region и #endregion, если они вас беспокоят.Visual Studio организует код, компилятор их не использует.Таким образом, чтобы скомпилировать сборку, просто создайте новый проект в Visual Studio типа Class Library и добавьте в него этот класс.Вам нужно будет сослаться на сборку System.Web, чтобы успешно скомпилировать, так как здесь определен интерфейс IHttpHandler , который используется в этом коде.1010 *):

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 # компилятор :

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

, который будет выплевывать svgzHandler.dll сборку.

3 голосов
/ 18 октября 2011
  1. Создание нового проекта библиотеки классов (Файл -> Новый проект -> Библиотека классов)
  2. Добавление ссылки на System.Web (щелкните правой кнопкой мыши «Ссылки» в решении исследования, перейдите в .NETна вкладке выберите System.Web)
  3. Замените код в файле class1.cs по умолчанию на ваш код, просто вырезайте и вставляйте и не беспокойтесь о внешних символах, они просто в выражении регионачто компилятору плевать на
  4. Build (выберите опцию меню сборки, затем решение для сборки)

Ваша dll будет в каталоге bin / debug проекта

2 голосов
/ 18 октября 2011

Создайте проект библиотеки классов, поместите туда код, исправьте пространства имен, соберите и вуаля!

...