PDA

View Full Version : ساخت فایل dll?????



mahmood1000
جمعه 14 مرداد 1390, 16:46 عصر
سلام دوستان
من این کلاس رو میخوام تبدیلش کنم به dll اما نمیدونم چطور باید این کار رو انجام بدم


using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.Design;
using System.ComponentModel;

namespace Artisteer
{
[ParseChildren(true)]
[Designer(typeof(ArticleDesigner))]
public class Article : WebControl
{
private ITemplate _contentTemplate = null;

private PlaceHolder _headerPlaceholder = null;
private PlaceHolder _contentPlaceholder = null;

private string _caption;

public string Caption
{
get { return _caption; }

set { _caption = value; }
}

[Browsable(false)]
[TemplateContainer(typeof(TemplateContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializat ionVisibility.Content)]
public ITemplate ContentTemplate
{
get { return _contentTemplate; }
set { _contentTemplate = value; }
}

public PlaceHolder HeaderPlaceholder
{
get { return _headerPlaceholder; }
set { _headerPlaceholder = value; }
}

public PlaceHolder ContentPlaceholder
{
get { return _contentPlaceholder; }
set { _contentPlaceholder = value; }
}

protected override void CreateChildControls()
{
Controls.Clear();

Control articleMarkup = Page.LoadControl("~/Design/Article.ascx");

_headerPlaceholder = articleMarkup.FindControl("HeaderPlaceholder") as PlaceHolder;
_contentPlaceholder = articleMarkup.FindControl("ContentPlaceholder") as PlaceHolder;

_headerPlaceholder.Visible = ! String.IsNullOrEmpty(_caption);

if (_headerPlaceholder.Visible)
{
Literal caption = new Literal();
caption.Text = _caption;
_headerPlaceholder.Controls.Add(caption);
}

if (_contentTemplate != null)
{
TemplateContainer container = new TemplateContainer();
_contentTemplate.InstantiateIn(container);
_contentPlaceholder.Controls.Add(container);
}

Controls.Add(articleMarkup);
}

public override void DataBind()
{
EnsureChildControls();
base.DataBind();
}

protected override HtmlTextWriterTag TagKey
{
get { return HtmlTextWriterTag.Div; }
}

public class TemplateContainer : Control, INamingContainer
{
}
}

public class ArticleDesigner : ContainerControlDesigner
{
public override string FrameCaption
{
get
{
Article ctl = this.Component as Article;
return ctl.Caption;
}
}
}
}


اگر راهنمایی کنید ممنون میشم.
هیچی دنبال یه مطلب مفید گشتم چیزی پیدا نکردم.

hjran abdpor
جمعه 14 مرداد 1390, 16:56 عصر
با سلام .
File-Window Application-ClassLibrary
بعد کدهات را کپی کن و ران کن. اگه خطای نداشته باشی یک فایل Dll در پوشت برات میسازه.

mahmood1000
جمعه 14 مرداد 1390, 17:38 عصر
با سلام .
File-Window Application-ClassLibrary
بعد کدهات را کپی کن و ران کن. اگه خطای نداشته باشی یک فایل Dll در پوشت برات میسازه.

دوست عزیز این کلاس رو وقتی تو پوشه App_Code میزارم بدون خطا کار میکنه اما وقتی میخوام از این روشی که شما گفتید استفاده کنم خطا میگیره.
چکار باید کنم؟

:گریه::گریه::گریه::گریه::گریه:

Saman Hashemi
شنبه 15 مرداد 1390, 09:12 صبح
خوب چه خطايي ميگيره؟ لازم به ذكر اين نوع پروژه فقط قابل build كردن و Debug نميشه...!

ASPX
شنبه 15 مرداد 1390, 09:22 صبح
دوست عزیز به namespace هایی که کدت داره دقت کن حدس میزنم اون refrence ها رو به پروژه ات add نکردی. موقع ساخت dll از با راست کلیک کردن رو پروزه ات و add refrence میتونی اینکار رو بکنی مثلا در زبانه .net میتونی system.web رو پیدا کنی و اون رو add کنی