【发布时间】:2014-02-20 14:32:29
【问题描述】:
我有一个文本文件,我想将它包含在几个解决方案中。遵循DRY(不要重复自己)的原则,我希望只有一份。自然地,我想到了使用 add-as-link 将它添加到所有项目中。
但是,这引发了如何在代码中引用它的问题。如果它是一个代码文件 - 它将通过使用它的命名空间来访问。然而,作为一个文本文件——尽管我可以很容易地找到项目目录——我还需要在项目中找到它的路径。硬编码 很容易出错(-如果我稍后移动它会怎样-没有智能感知)。
在 Properties.Resources 下添加它意味着拥有它的多个副本 - 我试图避免这种情况。
那么 - 这是怎么做到的?
【问题讨论】:
-
如果它是一个代码文件,你也会在每个项目中复制它(尽管编译为代码),那么区别在哪里?这些解决方案是否都作为一个应用程序的一部分共享?我无法理解您的实际问题:)
-
@Luaan 如果它是一个代码文件,重新编译一个项目将使用它的最新版本。
-
创建一个 PostBuild 事件,XCopy 将文件从原始位置(解决方案文件夹)复制到每个项目下的相对路径。
-
是的,但是当您构建操作内容(或嵌入式资源)而不是编译时会发生同样的事情。
-
@Luaan 我只是在解释为什么这种类型的复制是可以的。你是对的,这对于文本文件是一样的。正如问题中提到的,问题是如何在代码中引用它。
标签: c# .net winforms visual-studio-2010 visual-studio