Einbinden einer Klassenbibliothek
-
Es wurde nach dem Open Book Visual C# 2008 das umfassende Handbuch
versucht, klappt aber bislang nicht.
Es sind in derselben Projektmappe
1.) Eine Konsolen-Applikation Binding_Test_Konsole
2.) Eine Klassenbibliothek TestClassLib
Die TestClassLib sieht so aus:
class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;public class Werkzeuge
{
public int nr;
public string name;}
Und das Konsolenprogramm
program.cs :
using System;
using System.Collections.Generic;
using System.Text;
using TestClassLib;namespace ConsoleApplication1
{
class Program
{
public class werkzeug : Werkzeuge
{
}
static void Main(string[] args)
{
}
}
}Die Konsole ist als Startpunkt festgelegt, und hat auch einen Verweis zu TestClassLib.
Der Compiler verweigert aber die Klassendefinition Werkzeug, weil er angeblich Werkzeuge nicht findet, und ebensowenig TextClassLib.
Ändert man gem. Open Book Kap. 6.1.3 den Code der Klassenbliothek wie folgt:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;[assembly:InternalsVisibleTo("Binding_Test_Konsole")]
namespace Werkzeugklassen
{public class Werkzeuge
{
public int nr;
public string name;}
}Hat der Compiler Probleme mit InternalsVisibleTo,
findet er nicht, kennt er nicht. Die übrigen Fehler bleiben wie gehabt, er findet die Bibliothek nicht.
Was läuft da falsch?
Pascal
-
Verpack halt die Klasse Werkzeuge in den Namespace TestClassLib.
-
Benutze Codetags!!!