当前位置: 首页 > 编程语言 > C#

分享_1110

时间:2023-04-10 15:48:06 C#

ReadingFileCompileinC#< titlesplit >ReadingFileCompileinC#我正在写一些单元测试,其中我需要一个假的xml文件。我可以创建该文件并要求它通过单元测试进行部署,但经验表明,在我的办公室里,这确实令人头疼。所以我决定该文件将由UT创建。StreamWritersw=newStreamWriter(testFileName);sw.Write(内容);sw.Close();现在的问题是内容字符串。它实际上是一个像这样的长xml:stringcontents=@"~100lineshere";我不希望它与其余代码位于同一个文件中。我希望从文件生成编译时字符串。在C++中,我会做stringcontents="#include"test.xml"";在C#中有可能吗?为什么不将其包含在资源中?使用资源(resx文件)并添加xml文件。然后就可以使用MyNs.MyResources.MyXmlFile来访问了。我一般直接将这些测试文件添加到单元测试C#项目中,并设置为“Content”和“Copyifnewer”,以便在编译时复制到bin目录。如果内容是静态的,为什么不能提交到源代码管理?将它添加到您的项目中,它将始终完全按照您的预期进行。你可以走资源文件路线,但是,取决于有多少资源/它们有多大(并且XML可能很大),你最终可能会遇到编译问题(我做到了)。我已经从资源转换为单例。使用File.ReadAllText读取文本文件非常简单,而且它仍然是IntelliSense友好的。您可以使用T4模板来执行此操作。你需要的是创建模板文件的3件事,生成.cs代码包括文本文件(或*.sql文件)在与模板文件相同的项目中配置模板以在每次构建模板时重新创建t4模板。tt文件是这样的//ThisistheoutputcodefromyourtemplatenamespaceMyNameSpace{classMyGeneratedClass{staticvoidmain(string[]args){System.Console.WriteLine("");如果你不想配置模板在构建中重新创建,那么只需打开它并保存它。以上就是C#学习教程:阅读C#编译文件时分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: