C# 如何(正确)使用此VisualStudio全局变量?

C# 如何(正确)使用此VisualStudio全局变量?,c#,vb.net,winforms,visual-studio-2010,visual-studio,C#,Vb.net,Winforms,Visual Studio 2010,Visual Studio,我已经导出了一个依赖于一些本地图像的项目模板,我想手动加载它们,因为如果我不加载它们,就会出现异常 我试图在Form.Designer.vb中使用全局变量,但似乎无法识别,我做错了什么 Me.PictureBox1.Image = Image.FromFile("$(ProjectDir)\Resources\Clipboard.png") 当我加载项模板时,上面的字符串将作为文本字符串读取 另外,我不知道全局变量是否会指向我正在加载项目模板的解决方案的路径,或者是否会指向我导出项目模板的路径

我已经导出了一个依赖于一些本地图像的项目模板,我想手动加载它们,因为如果我不加载它们,就会出现异常

我试图在
Form.Designer.vb
中使用全局变量,但似乎无法识别,我做错了什么

Me.PictureBox1.Image = Image.FromFile("$(ProjectDir)\Resources\Clipboard.png")
当我加载项模板时,上面的字符串将作为文本字符串读取

另外,我不知道全局变量是否会指向我正在加载项目模板的解决方案的路径,或者是否会指向我导出项目模板的路径。。。当然我需要第二件事


请注意,我已经用C#标记了这个问题,因为全局变量的用法应该是相同的…

您使用的变量不用于代码中,仅用于visual studio中的宏(如预构建事件)

有关获取项目目录的信息,请参见此问题:
可能是您没有正确处理问题。第一个
$(ProjectDir)
是Visual Studio IDE用于获取项目当前路径的宏。如果您想通过代码实现这一点,则可以执行以下操作:

string filePath = Path.Combine(Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory).Parent.FullName, 
                               "Resources\\Clipboard.png");
但更重要的是,您在参考资料中有它们。为什么不使用WinForm资源呢。您可以在资源中添加映像,这些资源将随构建一起提供,您可以通过以下代码访问它们:

PictureBox1.Image = Properties.Resources.Clipboard.png;

请参阅:

您阅读了您提供的文章链接的标题吗?@Hamlet Hakobyan我支持这些变量也可以这样使用,因为例如$(rootnamespace)全局变量在链接中,并且在每个文件中自动生成$rootnamespace$变量。。。似乎是一样的,如果不是,那么我错了,这就是为什么我请求帮助。考虑编辑标题/标签是“我可以使用C语言代码中的MSBu建d变量”……请注意,您的示例显示的内容与许多“如何从C#中的资源文件夹加载文件”重复+0:CurrentDirectory可能是个坏主意-$(ProjectDir)接近可执行状态…@Habb感谢您的帮助,但您提到的关于资源的内容不确定,您可以在此处看到我的主要问题:,当导出为项目模板时,资源不会被导出,然后我已经手动复制了项目模板根目录中的“resources”文件夹,现在我弄得头晕目眩,无法获取加载模板的根目录以加载图像。。。但是没有办法,我也没有办法。另外,当我在File.designer.vb中使用“CurrentDirectory”方法时,它指向我安装VS IDE(devenv.exe)的目录,我也尝试过反射,但没有成功。无论如何,关于宏使用的问题解决了thanks@AlexeiLevenkov,可能是
AppDomain.CurrentDomain.BaseDirectory是否正确?