[英]C# application not running on different machines
我有一個C#應用程序,可以很好地在我的開發計算機上加載,但是無法在Win2008計算機上啟動。
Net 4.0,經過檢查的框架與之匹配
我立即懷疑問題是由對我正在讀取的特定文件的引用引起的,並且確實可以肯定,使用一些測試代碼我將其縮小為一行。
public static string[] salesArray = (File.ReadAllLines("sales.txt").ToArray());
如果我注釋掉上面的行,則測試應用程序啟動,如果我保留它,則它將失敗。 有任何想法嗎?
我將Debug目錄復制到其中的第二台計算機(sales.txt)。
這是完整的代碼。 該應用程序除了打開空白窗口外什么也不做。
namespace testServer
{
public partial class Form1 : Form
{
public static string[] salesArray = (File.ReadAllLines("sales.txt").ToArray());
public Form1()
{
InitializeComponent();
}
}
}
跳出了兩個潛在的問題:
1)應用程序的當前工作目錄不是您認為的那樣:如果可以打印/顯示此內容,您肯定會知道。 http://msdn.microsoft.com/zh-CN/library/system.io.directory.getcurrentdirectory.aspx
因為您要指定相對路徑,所以當前工作目錄就是要解析的文件所在的目錄。
2)也許是權限。 您可以右鍵單擊“以管理員身份運行”,以快速了解該理論。
您應該使用更好的機制來查找該文件,並在打開文件之前檢查其存在(即: File.Exists
)。
如果出現問題(例如文件所在位置不存在),這也可以讓您向用戶報告。
在代碼周圍放置一個異常處理程序。 您可以獲得錯誤消息並可以正常處理故障。
它應該處理所有錯誤(找不到文件,使用中的文件,權限錯誤等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.