如何在同一解决方案中从另一个项目获取项目的相对路径?

时间:2013-02-20 20:36:05

标签: c# .net

我的解决方案中有两个项目。我需要从第二个项目的第一个项目获取图像文件的相对路径。我怎么能这样做?

已经尝试过来自this resource的代码:

我从ProjectA引用ProjectB并使用它(在ProjectA中):

@"/ProjectB;component/images/prod-2809854.jpg"

不起作用。

我知道我可以使用它(在ProjectA中):

 AppDomain.CurrentDomain.BaseDirectory

它将返回ProjectA的基目录。我认为我可以解析字符串,获取解决方案目录并将ProjectB/images/附加到其中。

这是正确的方法吗?可以做得更好吗?

谢谢!

编辑:作为示例我在控制台应用中运行代码(添加到同一解决方案,因为在此阶段我无法测试我的Windows服务应用)。我需要得到图像相对路径:

// e.g. to check the GetMonitoringPath() method in main() in console app
Console.WriteLine(File.Exists(GetMonitoringPath())); 

public static string GetMonitoringPath()
    {
        return @"/WebStore;component/images/prod-2809854.jpg";
    }

File.Exists()返回false,但文件存在,我确定:)

2 个答案:

答案 0 :(得分:0)

这对我有用

<img alt="" style="cursor:pointer" src="../../../Booking/images/plus.gif" />

输入src后,VS会要求您选择yr URL。

如果这不起作用,请发布有关您正在做什么的代码。

答案 1 :(得分:0)

如果您想从控制台应用程序或服务访问Web项目中的文件,我会保持简单,并在其他项目的app.config appSettings中存储Web项目的路径。

如果文件在编译期间存在,则可以使用嵌入资源在项目之间共享文件。除此之外,需要使用某种路径(相对或其他)来引用其他文件夹。