Rada s kompilací   zodpovězená otázka

VB.NET, ASP.NET WebForms, Komponenty

Zdravím,

potřeboval bych poradit, kde dělám chybu. Jsem začátečník a zkouším různé věci a nyní mi pravděpodobně nefunguje kompilace.

Mám Default.aspx kde chci mít vlastní ovládací prvek.

soubor default.asp vypadá takto:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register TagPrefix="My" Namespace="MyCustomControls"  Assembly="CustomControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

    <My:CustomControl1 id="MyControl" runat="server" />
    <div>
    
    </div>
    </form>
</body>
</html>

a vlastní komponentu mám ve App_Code/CustomControls.vb

Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Imports System.Web.UI
Namespace MyCustomControls
    Public Class CustomControl1 : Inherits Control
        Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
            writer.Write("Toto je můj vlatní ovládací prvek! Aktuální čas:" & DateTime.Now.ToString)
        End Sub
    End Class
End Namespace

Ve "splitu"..přímo ve Visual Web mi na řádku píše co potřebuji:

Toto je můj vlatní ovládací prvek! Aktuální čas:18.5.2010 10:31:15

Ale nejsem schopen toto spustit v prohlížeči. Když dám kompilaci hází mi to chybu:

Error 2 Could not load file or assembly 'CustomControls' or one of its dependencies. Systém nemůže nalézt uvedený soubor. C:\aspnet\Pokus\Default.aspx 2

Můžete mi poradit kde dělám chybu?

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Kde máte ten soubor s komponentou? Pokud je v DLL knihovně, která je ve složce Bin a jmenuje se CustomControls, pak by to fungovat mělo.

Pokud je to obyčejný soubor ve složce App_Code, pak máte špatně direktivu Register, protože Assembly se v takovém případě neuvádí. Ještě záleží, jestli máte projekt typu Web Site nebo Web Application Project, protože tam ten parametr Assembly zase být musí.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No právě, že nemám soubor *.dll. Myslel jsem, že se vytvoří, když dám Build...., ale to se nevytvoří. Nevím jak se má správně zkompilovat soubor *.vb, aby se soubor dll vytvořil.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Už to funguje, když jsem vytvořil Bin, pak už se to zkompilovalo správně.

Díky za nasměrování.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě bych se chtěl zeptat, co bych musel udělat, kdybych toto dal někam server a nezkoušel to lokálně. Tam se soubor *.vb zkompiluje automaticky nebo musím uložit soubor *.dll ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nakopírujete na server celý adresář s projektem a mělo by to fungovat. Záleží na tom, jestli máte WebSite nebo WebApplication Project.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback