如何强制项目仅在其目录中工作?

时间:2015-06-10 06:42:55

标签: c# .net file-io

我正在编写一个包含两个项目的解决方案,比如'Core'和'App'。 App仅用于测试Core。 Core使用其目录中的一些数据。但问题是,当我调用使用这些文件的Core方法时,CLR会在Solution \ App \ Debug \ bin而不是Solution \ Core \ Debug \ bin中搜索它们。这意味着我必须将文件复制到App文件夹。有什么办法可以避免吗?

1 个答案:

答案 0 :(得分:1)

您的应用项目似乎正在引用您的核心项目。默认情况下,可执行文件作为其当前路径具有启动它的文件夹(在本例中为Solution \ App \ Debug \ bin)。 由于看起来您的Core项目需要运行另一个应用程序,因此它很可能是某种类库,通常没有外部文件。

一个选项是将配置值设置为文件的位置,因此Core会知道要查找的位置(请记住,如果您的Core项目是类库并且作为dll导入,则其配置文件需要为调用[DLL名称] .dll.config来工作)。

第二种选择是将此文件添加到项目资源(https://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.90%29.aspx)。