0

我正在尝试string从我的Resources. XML 文件名为MyXMLResourceFile.resx.

我尝试使用 C# 方式使用

let myFile : string = Properties.Resources.MyXMLResourceFile

但它给了我错误(下Properties):

The namespace or module 'Properties' is not defined.

我假设我错过了一个open但不知道它会是什么。

抱歉,我对来自 VB 的 F# 还是很陌生。

附加信息:

我根据这个SO 答案自己制作了resx文件,然后我查看了其他人如何访问它。在 C# 中,他们根据这个项目做了 Properties.Resources.XXXX ,我看到你可以使用但没有看到任何方法可以将整个文件直接读入.ResourceManagerstring

4

1 回答 1

1
The namespace or module 'Properties' is not defined.

那是因为没有定义命名空间属性。您可能从另一个项目中带来了 resx 文件。打开关联的 .Designer 文件,如果 F# 项目中没有出现,请在原始项目中打开它。假设原始项目在 C# 中,您将看到一个名称空间和一堆 C# 代码。此文件的名称空间必须与您尝试调用它的项目的名称空间相同。

但是,由于这是 C# 代码,它不会在 F# 项目上运行。您有两个选择:使用代码生成器在带有 Properties 命名空间的 F# 代码中生成关联的 .Designer 类,(我不知道这样的生成器是否存在);或在原始项目中预编译 resx 并将其作为 dll 从您的 F# 项目中引用,然后您可以使用 ResourceManager 访问它。

于 2013-07-12T07:10:46.983 回答