将类型更改为windows应用程序后,应用程序无法正常工作

本文关键字:应用程序 常工作 工作 类型 windows | 更新日期: 2023-09-27 17:58:15

我创建了一个C#控制台应用程序,将计算机中的某个文件上传到web服务器。它运行良好。但我也想隐藏我的控制台应用程序。然后我把我的应用程序类型从属性面板改为windows应用程序。现在我意识到它不能正常工作。。它仍然做所有事情,除了上传部分。当它是控制台类型时,它正确地进行上传过程,并且它一直运行,直到我点击回车键,因为我添加了console.readline();但现在当我在visualstudio中运行时,它会在上传成功之前自动停止运行。我不知道为什么。。需要帮助

我的上传代码如下。

public static Boolean upload()
{
    Console.WriteLine("uploading");
    text_a("uplading");
    String file = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + 
        "''micro_db''zipper''keys.zip";
    String url = "http://mysite/upload.php";
    try
    {
        WebClient client = new WebClient();
        Uri uri = new Uri(url);
        client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback2);
        // Specify a progress notification handler.
        //client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
        client.UploadFileAsync(uri, "POST", file);
        Console.WriteLine("File upload started.");
        text_a("file upload started");
        return true;
    }
    catch(Exception e)
    {
        Console.WriteLine(e);
        text_a(e.ToString());
        return false;
    }
}

将类型更改为windows应用程序后,应用程序无法正常工作

我建议创建三个项目:

第一个项目将是您的"服务"项目,它将只是一个公开类以执行Upload()方法的普通类库。

第二个项目将是控制台应用程序。添加对创建的第一个项目的引用,并从服务项目中创建该类的新实例。

第三个可以是windows项目。这也将参考服务项目。像在控制台应用程序中一样,新建类。

这样,只需右键单击所需的项目并选择debug,就可以运行控制台应用程序或windows应用程序。

您不能只从控制台切换到windows应用程序类型,而不进行管道操作。