我使用vs2008创建了一个Windows窗体应用程序。当我将bin文件夹复制到另一台机器并尝试运行它时,应用程序会抛出filenotfoundexception错误。我看过项目中使用的引用文件,每个文件都指向
我已经确认这些目录存在于导致错误的其他计算机上。 我尝试过的两台机器就是错误的
Windows XP没有安装VS2008和 安装了VS2008的Windows 7
我尝试了两台DID工作的机器
Windows XP与VS2008和 和我的开发机器Windows 7与VS2008
任何人都可以就此问题向我提供一些见解 感谢
答案 0 :(得分:0)
如果您注册了所有全局程序集,那么如果您正在读取/打开一些带有异常的绝对路径的文件,请检入您的代码。
假设您有一个正在打开的文件c:\ abc.txt。此文件可能在开发人员计算机上可用,但在其他测试计算机中不可用您可能想要检查程序中的File.Open函数调用。
答案 1 :(得分:0)
找不到哪个文件,尝试捕获异常并记录未找到哪个文件的异常详细信息。 另外你说安装VS2008,应用程序工作,然后只是尝试安装VS2008可再发行的运行时库。它需要webbrowser和其他api。
答案 2 :(得分:0)
也许可以使用
Dim rootPath As String = Server.MapPath(“〜”)
和相对路径(?)
答案 3 :(得分:0)
确保将整个主函数内容包装在try catch()中。然后,您可以显示消息以找出缺少的程序集。执行此操作后,转到引用中的该程序集,并在其属性集中设置CopyLocal = true。
例如:
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MyForm());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答案 4 :(得分:0)
使用sysinternals中的进程监视器 - 这将让您看到您的应用尝试打开的文件