对嵌入式资源的强类型访问

elu*_*id8 3 c# visual-studio-2010 embedded-resource

我正在尝试建立对我在类库中创建的嵌入式SQL资源文件的访问权限.但是,我不知道从哪里开始.

我使用以下方法访问了资源:

Assembly.GetExcecutingAssembly().GetManifestResourceStream("InsertTest.sql");
Run Code Online (Sandbox Code Playgroud)

我的理解是有一种方式以强类型的方式访问它们,但我似乎无法处理项目或解决方案以编程方式浏览各自的属性或资源.

我错过了什么?

elu*_*id8 7

虽然我确实得到了一些很好的建议(参见Philip Daniels的答案 - 好东西),但没有一个能真正解决我的具体问题.但是,我发现最简单的方法是执行以下操作:

  1. 右键单击您的项目,然后选择"属性"
  2. 选择"资源"选项卡.必要时创建新的资源文件.
  3. 在左上角有一个默认为'Strings'的下拉列表.单击此框并选择"文件".
  4. 拖放您要嵌入项目的资源文件.

您现在可以使用以下语法访问强类型资源:

Project.Properties.Resources.ResourceName;
Run Code Online (Sandbox Code Playgroud)

在我的情况下,这很好用,因为我在这些文件中存储内联SQL,它返回嵌入在文件中的sql.但请记住,默认情况下,这些资源是链接的而不是嵌入的,但您可以更改其属性以将其设置为嵌入.

希望这有助于某人!