Visual Studio:无法从代码中访问资源

时间:2012-04-28 22:16:04

标签: c# .net visual-studio resources

我在Visual Studio项目中添加了几个文件(HTML,CSS等)作为资源。根据MSDN,我应该能够通过

访问这些资源
MyProjectName.Properties.Resources.Filename

不幸的是,IntelliSense甚至不知道MyProjectName背后的Properties属性。如果我输入“MyProjectName。”,IntelliSense会为我提供一些但没有属性的东西。我已经建立了这个项目,但没有任何改变。

如果这很重要:该项目不是我的Visual Studio解决方案的主要/启动项目。

8 个答案:

答案 0 :(得分:8)

您需要在此处添加:

  1. 项目菜单
  2. MyProjectName属性
  3. 资源标签
  4. “点击此处创建资源”(如有必要)
  5. 选择“文件”菜单
  6. 添加资源
  7. 现在您可以使用MyProjectName.Properties.Resources.Filename

    访问它们了

答案 1 :(得分:5)

将文件作为资源从其属性:

BuildAction=Compile

答案 2 :(得分:4)

看看这个MSDN Forum link。我从中获取的是确保您的资源是added as resources并且命名空间匹配。

答案 3 :(得分:0)

你确定它们被标记为资源吗?右键单击并检查其属性。

答案 4 :(得分:0)

Visual Studio中有一个名为Propertieson的文件夹与Resources相同,但它完全被绕过,这有点令人困惑。

因此,虽然您的代码中的路径可能通过Solution_name.Properties.Resources.yourFile.png,但这并不反映在Visual Studio的解决方案资源管理器中使用的文件夹中,因为您可以直接在 Solution_name \ Resources \ yourFile下找到该图像.PNG

只需添加文件并使用鼠标移动资源就不会使Visual Studio在您的代码中将此文件视为资源。所以你必须通过菜单 Project Properties (最低条目)?或点击 Alt + F7 ,突出显示资源。

现在点击 添加资源的向下箭头 ,而不是单击按钮的主区域。这样做会打开添加新资源的对话框窗口,但实际上您要点击 添加现有文件 。那就是它。

答案 5 :(得分:0)

我知道这与答案相反,但在VS2013上,我不得不设置BuildAction = Resource

答案 6 :(得分:0)

对于其他任何人,也许请查看Resources.Designer文件?

我发现此行存在差异

 System.Resources.ResourceManager("DemoApp.Properties.Resources", ...

我已将项目名称更改为Demo。

答案 7 :(得分:0)

我不确定是否会有所帮助,但是我要做的就是创建一个新表单并将图标添加到图片框。以某种方式解决了问题。