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

本文关键字:项目 另一个 路径 相对 解决方案 | 更新日期: 2023-09-27 18:00:22

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

已尝试此资源中的代码:

我参考ProjectA中的ProjectB,并使用它(在ProjectA中):

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

不起作用。

我知道我可以使用这个(在项目A中):

 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,但我确信该文件存在:)

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

这适用于我的

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

在键入src之后,VS将要求您选择您的URL。

如果这不起作用,请发布关于你到底在做什么的代码。

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

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