在Assembly中访问文件

时间:2012-02-17 06:48:44

标签: c# visual-studio .net-assembly

我在Visual Studio C#中工作,并希望访问控制台应用程序程序集中的一个文件。我不想使用Application.ExecutePath,因为这将需要我导入我不需要的Windows窗体库。 Tablelist.txt文件位于我的项目文件中,我想要做的就是直接读取它的内容。

StreamReader sr = new StreamReader(
    Assembly.GetExecutingAssembly().GetManifestResourceStream(
        Assembly.GetExecutingAssembly().GetName().Name + ".TableList.txt"));

如何访问资源流?

1 个答案:

答案 0 :(得分:2)

直接读取文件内容:

  1. 向您的应用程序添加一个新的“资源文件”,并将其命名为“TextResources.resx”。
  2. 双击新创建的文件。单击“添加资源”,“添加现有文件”,导航到文件“TableList.txt”,然后单击“打开”按钮。该文件将作为资源添加。
  3. 现在使用以下代码段来读取文件的内容:

    using System;
    using System.Reflection;
    using System.Resources;
    
    // Gets a reference to the current assembly.
    string assemblyName = Assembly.GetExecutingAssembly().GetName().Name;            
    // Creates the ResourceManager.
    ResourceManager resourceManager = new ResourceManager(String.Format("{0}.TextResources", assemblyName), Assembly.GetExecutingAssembly());
    // Retrieves resource and displays it.
    string textFileContents = resourceManager.GetString("TableList");
    Console.Write(textFileContents);