簡體   English   中英

如果從命令提示符處調用,C#應用程序不會創建文件

[英]C# application doesn't create file if called from command prompt

我有一個簡單的C#控制台應用程序,它將一些信息寫入文本文件。 從桌面打開(通過單擊.exe文件),該應用程序可以正常運行。 但是,當我通過命令提示符打開應用程序時,控制台窗口將正常打開,但應用程序不會向文本文件中寫入任何內容(其他代碼功能在控制台窗口中正常運行)。

僅供參考,我需要通過命令提示符打開應用程序,因為稍后在exe應用程序將被放置在服務器上並從php腳本調用(使用exec或shell_exec)。

我認為這可能是寫權限問題,但是在任何時候都不會拋出錯誤,所以我不確定。 有什么想法嗎?

我的代碼:

    static void Main(string[] args)
    {
        string arg="";
        try
        {
            arg = args[0];
        }
        catch { 
        }
        using (StreamWriter outputWriter = File.AppendText(@"C:\Archive\test.txt"))
        {
            outputWriter.WriteLine("arg="+arg);
        }
        Console.WriteLine("Test");
        Console.ReadLine();
    }

當您從命令行運行應用程序時,當前目錄取決於您在提示符下的位置。

運行.exe時,請確保從與要寫入的文件相同的目錄中運行它。

如果這樣可以解決問題,那么您需要編寫代碼來處理要寫入的文件不在當前目錄中的情況,也許可以通過代碼進行設置。

好吧,我不知道發生了什么,但是我現在正在通過命令提示符再次嘗試,並且代碼按預期工作。 可能是因為在清理代碼以將其發布到此處時,我刪除了任何隱藏的錯誤。 gh .. :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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