簡體   English   中英

C#應用程序未在其他計算機上運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM