8694


Visual studio2013でクラスライブラリを作成しようと考えています。

新しいプロジェクトでクラスライブラリを選択してプロジェクトを作成、新しい項目の追加でClass2.csを追加しました。そしてビルドをしてdllを作成しました。  
次に、新しいプロジェクトでコンソールアプリケーションを選択してプロジェクトを作成、参照の追加で先ほど作成したdllを追加しました。  
その結果、コンソールアプリケーションのプロジェクトでデフォルトで生成されるClass1は認識できるのですが、後から自分で追加したClass2は見つからずコンパイルエラーとなります。

このような現象について何か考えられることはありますか  
よろしくお願いします


CC BY-SA 3.0
2015-04-02T11:11:08.013
8693
2015-04-07T08:23:20.733
9130
question
c#
C#のクラスライブラリについて


おだんさんが、追加されたClass2に、publicアクセス修飾子は付いていますでしょうか？

[code]

    public class Class2{...}
    
[/code]

このようにしないと、自分のアセンブリの外方から見えなくなります。

[code]

    class Class2{...}
    
[/code]

と書いた場合は、

[code]

    internal class Class2{...}
    
[/code]

と同じ意味になるので、アセンブリ内で参照可能でも、アセンブリ外では参照できず、コンパイルエラーとなります。

その点を確かめてみてはいかがでしょうか？


CC BY-SA 3.0
2015-04-02T11:26:19.600
8694
2015-04-02T11:26:19.600
7287
8693
answer


Class2を使用するファイルの一番上にusing句を追加してみてはいかがでしょうか。

[code]

    using SampleClassLibrary;
    
[/code]


CC BY-SA 3.0
2015-04-07T08:23:20.733
8860
2015-04-07T08:23:20.733
6040
8693
answer