我有C#控制台应用程序,我在那里有这个代码:
var rootDirectory = Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()));
var img = $@"Content\\{screenName}.png";
Console.WriteLine(Path.Combine(rootDirectory, img));
当然,我在解决方案中有Content文件夹,我有我的图像。它在我运行调试时检索这些图像,但是在发布应用程序app正在搜索该文件夹
之后C:\ Users \用户名\ AppData \ Local \ Apps \ 2.0 \ KRWNP492.QP2 \ Content \ name.png
请注意,在KRWNP492.QP2
内,没有任何名为Content
的文件夹
我无法更改文件夹安装该应用的位置。错误是:
System.ArgumentException:参数无效。 在System.Drawing.Bitmap..ctor(String filename) at X.Common.CommonMethods.IsExpectedScreen(Bitmap currentScreen,String screenName)
我该怎么办?
答案 0 :(得分:1)
编译应用程序后,没有“解决方案”目录。有一个可执行文件(.exe)和一些图像文件。
您应该执行的操作是将图像文件的“构建操作”属性设置为“内容”,将“复制到输出目录”属性设置为“在Visual Studio的属性窗格中更新”。这应确保在构建应用程序时将Content目录和映像复制到输出目录。
然后,您可以使用 relative 路径在运行时查找图像:
string path = $"Content\\{screenName}.png";
System.Drawing.Bitmap b = new System.Drawing.Bitmap(path);
确保将包含图像的Content文件夹与.exe。
一起复制到部署目录答案 1 :(得分:0)
只需使用System.Reflection.Assembly.GetEntryAssembly().Location;
来检索应用程序的路径。
答案 2 :(得分:0)
您应该能够使用StartupPath属性轻松获取目录。
var rootDirectory = Application.StartupPath;