0

アセンブリから xml ファイルを読み込もうとしています。これが私のコードです。

private Assembly testAssembly;
    private void button1_Click(object sender, EventArgs e)
    {
        string testfile = "stack.xml";
        String testfileName = string.Format("{0}.{1}", testAssembly.GetName().Name, testfile);

        using (Stream stream = testAssembly.GetManifestResourceStream(testfileName))
        {
            using (StreamReader sr = new StreamReader(stream))
            {
                var value = sr.ReadToEnd();
                Console.WriteLine("The read file is {0}", value);
            }
        }
    }

この行に問題があります:

String testfileName = string.Format("{0}.{1}", testAssembly.GetName().Name, 
                                     testfile); 

Null ref 例外が未処理です。null と表示されます。助けて? ここに画像の説明を入力

4

2 に答える 2

1
string resName = "resources/HistoryConnections.xml";  

private static UnmanagedMemoryStream GetResourceStream(string resName)
        {
            var assembly = Assembly.GetExecutingAssembly();
            var strResources = assembly.GetName().Name + ".g.resources";
            var rStream = assembly.GetManifestResourceStream(strResources);
            var resourceReader = new ResourceReader(rStream);
            var items = resourceReader.OfType<DictionaryEntry>();
            var stream = items.First(x => (x.Key as string) == resName.ToLower()).Value;
            return (UnmanagedMemoryStream)stream;
        }
于 2015-04-28T07:02:22.063 に答える