我正在尝试从string
读取XML文件的文本(作为Resources
)。 XML文件名为MyXMLResourceFile.resx
。
我尝试使用C#方式使用
let myFile : string = Properties.Resources.MyXMLResourceFile
但它给了我错误(在Properties
下):
The namespace or module 'Properties' is not defined.
我假设我错过了open
,但不知道它会是什么。
对不起,我对来自VB的F#还不熟悉。
其他信息:
我自己按SO answer制作了resx
文件,然后查看别人如何访问它。在C#中,他们做了Properties.Resources.XXXX per this project我看到你可以使用ResourceManager
但没有看到任何方法将整个文件直接读入string
。
答案 0 :(得分:1)
The namespace or module 'Properties' is not defined.
那是因为未定义名称空间属性。您可能从另一个项目中带来了resx文件。打开关联的.Designer文件,如果它没有出现在F#项目中,请在原始项目中打开它。假设原始项目在C#中,您将看到带有一堆C#代码的命名空间。此文件的名称空间必须与您尝试调用它的项目的名称空间相同。
但是,由于这是C#代码,它不会在F#项目上运行。您有两种选择:使用代码生成器在F#代码中使用Properties命名空间生成关联的.Designer类(我不知道这样的生成器是否存在);或者在原始项目中预编译resx并从F#项目中将其作为dll引用,然后可以使用ResourceManager访问它。