---
title: "Namespace-trubbel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/79179-namespace-trubbel"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Skarre"
published: "2003-06-08T01:14:06.000Z"
updated: "2003-06-09T12:56:59.000Z"
replies: 11
views: 326
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/79179-namespace-trubbel"
---

# Namespace-trubbel

## #1 — Skarre, 2003-06-08T01:14Z

Mitt "datalager" är kompilerat, ligger i bin-mappen och fungerar som det ska, men när jag skrev skelettet till ett affärslager och försökte kompilera detta så kajkade det ur. Jag har uppenbarligen inte hajat det där med namespaces riktigt.

> The type or namespace name 'Data' does not exist in the class or namespace 'SDTS' (are you missing an assembly reference?)

data.dll

```
using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;

namespace SDTS.Data
{
	public class DbObject
	{

	}	
}
```

business.dll (egentligen business.cs eftersom den inte kan kompileras)

```
using SDTS.Data;

namespace SDTS.Business
{
	namespace News
	{
		public class NewsObject
		{
			
		}
	}
}
```

Permalänk: https://www.webforum.nu/p/79179

## #2 — Josef, 2003-06-08T01:20Z

Du kan inte ha ett namespace i ett annat namespace.

Permalänk: https://www.webforum.nu/p/1075961

## #3 — Skarre, 2003-06-08T11:48Z

Uppenbarligen kan jag det eftersom filen kompileras om jag tar bort "using SDTS.Data;". Rätta mig om jag har fel men är inte nedanstående bara två olika sätt att göra samma sak på?

```
namespace SDTS.Business
{
	namespace News
	{
```

```
namespace SDTS.Business.News
{
```

Permalänk: https://www.webforum.nu/p/1076043

## #4 — Choronzon, 2003-06-08T19:26Z

Ett tips är att alltid inleda med versal om det är en klass, och med gemen om det är ett namespace.

Namespaces har man ju mest för att unvika krockar om man skulle råka använda klassnamn som redan finns. 

Om man kan ha namespace i ett annat vet jag inte, men finns det nån större vits med det?

Permalänk: https://www.webforum.nu/p/1076270

## #5 — Skarre, 2003-06-08T23:21Z

> **Choronzon skrev:**
>
> Om man kan ha namespace i ett annat vet jag inte, men finns det nån större vits med det?

Att man kan ha ett namepace inuti ett annat är jag relativt säker på. Annars borde kompilatorn hojtat till tycker man. Och vitsen för min del är att få bättre struktur och ordning bland klasserna. Som sagt, det är väl bara två sätt att göra samma sak på?

Är det ingen som har lyckats klura ut varför jag får felmeddelandet jag nämnde i första inlägget?

Permalänk: https://www.webforum.nu/p/1076436

## #6 — Gladh, 2003-06-09T07:54Z

> Och vitsen för min del är att få bättre struktur och ordning bland klasserna.

Eftersom du endast "bör" ha en klass per fil, så finns det ingen mening att ha namespace i namespace, eftersom din fil endast tillhöra 1 namespace, och då är det bäst att skriva ut det direkt.

\- M

Permalänk: https://www.webforum.nu/p/1076471

## #7 — Skarre, 2003-06-09T10:09Z

> **Gladh skrev:**
>
> Eftersom du endast "bör" ha en klass per fil \[...\]

Det har jag faktiskt aldrig hört förut. Det blir en väldig massa dll:er om jag måste lägga varje klass i en egen fil. :o

Permalänk: https://www.webforum.nu/p/1076505

## #8 — renholm, 2003-06-09T10:41Z

Inte nödvändigtvis, du kan kompilera flera filer till en dll.

Permalänk: https://www.webforum.nu/p/1076521

## #9 — niko, 2003-06-09T10:59Z

> **Skarre skrev:**
>
> Är det ingen som har lyckats klura ut varför jag får felmeddelandet jag nämnde i första inlägget?

Låter bara som om du glömt ange en referens till *data.dll* vid kompileringen?

```
csc /t:library /out:business [b]/r:<eventuell sökväg>\data.dll[/b] business.cs
```

> **Skarre skrev:**
>
> Som sagt, det är väl bara två sätt att göra samma sak på?

Ja.

Permalänk: https://www.webforum.nu/p/1076536

## #10 — Skarre, 2003-06-09T12:44Z

> **renholm skrev:**
>
> Inte nödvändigtvis, du kan kompilera flera filer till en dll.

Som då innehåller flera namespaces, så det blir exakt samma sak. ;)

Permalänk: https://www.webforum.nu/p/1079657

## #11 — Skarre, 2003-06-09T12:46Z

> **niko skrev:**
>
> Låter bara som om du glömt ange en referens till *data.dll* vid kompileringen?
>
>
> ```
> csc /t:library /out:business [b]/r:<eventuell sökväg>\data.dll[/b] business.cs
> ```

Bingo! Jag trodde i min enfald att dll:en skulle hittas automatiskt om den låg i bin-mappen, men nu vet jag hur det funkar. Tack!

Permalänk: https://www.webforum.nu/p/1079661

## #12 — niko, 2003-06-09T12:56Z

> **Skarre skrev:**
>
> Jag trodde i min enfald att dll:en skulle hittas automatiskt om den låg i bin-mappen

Nej, faktum är att kompilatorn inte ens *letar*. Den enda assembly som inkluderas automatiskt är *system.dll*, alla andra måste anges explicit.

Permalänk: https://www.webforum.nu/p/1079667

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/79179-namespace-trubbel
