1

Background: I am a novice in C#, and use Visual Studios 2010 Express.

I have a class (let's call it myclass) which I want to use in multiple projects. I used to add classes with Project->Add Existing Item... Which creates a copy of myclass.cs.

Now I just found out that when I build the original myclass.cs it creates a myclass.dll and places it in the release folder of my project.

But when I try to use this DLL, I get the following error:

The type or namespace name 'myclass' could not be found(are you missing a using directive or an assembly refference?

Which is weird to me, because I already have referenced it (it is also in the Reference folder of my Solution Explorer). And I already have added this to my code:

using myclass;

So what am I doing wrong?

Update: When I tried my old method (add existing item -> myclass.cs) the error message goes away. So it's not a matter of spelling things correctly.

4

3 に答える 3

1

Add the dll first:

Click on references in your project-explorer in visual studio and add your dll then you can use it as you expected it.

于 2013-05-06T06:08:18.257 に答える
1

わかりましたので、私は自分で答えを見つけました。using関数を使用すると、使用する名前空間内のすべてのパブリック クラスが自動的に検索されることがわかります。

パブリック クラスが見つからない場合、DLL の認識を拒否します。

さらに、クラスを指定しないと内部になります。そう:

class myclass          // internal!
private class myclass // private!
public class myclass // only this makes it visible for others!

クラス myclasspublic class myclass に変更した後、すべて問題ありませんでした。

于 2013-05-06T08:10:49.393 に答える
1

プロジェクトに参照を追加し、そのアセンブリのターゲット フレームワーク バージョンがプロジェクトに適合することを確認します。

アセンブリ内の名前空間を確認してから、次のように使用します。

using YourAssemblyNamespace.class
于 2013-05-06T06:09:34.717 に答える