Visual Studio 2015(C#、WPF)でできるだけ小さなソリューションを作成して、別のアセンブリから1つのアセンブリの内部クラスにアクセスしました。Visual Studio 2015のC#での符号なしフレンドアセンブリ
これまでのところ、運がありません。
MainWindow.xaml.cs
using System.Windows;
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("FriendAssemblyTestLibrary")]
namespace FriendAssemblyTest
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
GlobalData.Member = "hi"; // this works fine
}
}
}
GlobalData.cs
namespace FriendAssemblyTest
{
internal static class GlobalData
{
internal static string Member { get; set; }
}
}
Class1.csの
namespace FriendAssemblyTestLibrary
{
public class Class1
{
public Class1()
{
GlobalData.Member = ""; // this generates: "The name 'GlobalData' does not exist in the current context"
}
}
}
溶液FriendAssemblyTestであり、FriendAssemblyTestとFriendAssemblyTestLibrary(Class Library)という2つのプロジェクトが含まれています。 https://drive.google.com/open?id=0Bwmvskxz-sI1TTBzamQ0WEpLTUEが
私のために混乱ビットは、/アウトコンパイラオプションを設定するには、Visual Studioの2015年に可能表示されませんでしたが、友人の組立:
必要な場合、アップzip形式のソリューションは、こちらからダウンロードできます例はこれが必要であったと主張するように見えた。
誰でも自分の道を送ることができれば助かります。
ありがとうございました! トム
何が問題になるのですか?コードを表示しましたが、「これによってエラーが発生します」よりも具体的なものは教えられませんでした。 (私たちに示した 'Class1.cs'は' FriendAssemblyTest'名前空間のためのディレクティブを持っていません - 少なくともあなたが私たちに示したものではありません) –
すみません、 - "名前 'GlobalData'は現在のコンテキストに存在しません"。 – CINCHAPPS
これは、ライブラリプロジェクトがテストプロジェクトを参照しているときにコンパイルする必要があります。しかし、ネームライブラリはそれが間違った依存関係であることを示唆しています。 –