C#.NET:输出相同文件的库

时间:2010-08-19 06:32:28

标签: c# .net file

你有一个库,库中的一个函数提供了一个功能,除其他外输出一个文件(可能在每次执行中可能到不同的路径)。每次执行时文件的内容和名称都是固定的。实现这一目标的最佳方法是什么?将文件的内容声明为字符串并每次打印(可能不是一个好主意,文件长约1000行)?或者有一个文件总是与库dll在同一个文件夹中?如何确保编译器始终包含此文件?或者有没有更好的方法,例如以某种方式将文件嵌入到dll中?

请注意,输出此文件并不是库的唯一功能,它是库中函数完成的子任务之一

谢谢!

3 个答案:

答案 0 :(得分:1)

如果内容在每种情况下都是相同的并且它是非平凡的(即你不能只用几行代码写出来),那么将它作为资源文件嵌入到程序集中。

然后您可以使用Assembly.GetManifestResourceStream获取输入流,并将数据复制到文件中。 (如果您使用的是.NET 4.0,则可以使用Stream.CopyTo方法完成。)

答案 1 :(得分:0)

您可以在VS2010项目中创建资源文件,并将该文件的类型访问权限作为自动生成的类的静态成员。然后,资源也将自动嵌入。

尝试添加新项目 - >资源文件。创建文件后,将文件拖到设计器表面上。

答案 2 :(得分:0)

另外还有file.copy方法http://msdn.microsoft.com/en-us/library/system.io.file.copy(VS.71).aspx 您只需将文件包含在项目中(添加现有项目),并在需要时复制它。