将类型更改为 Windows 应用程序后应用程序无法正常工作
Posted
技术标签:
【中文标题】将类型更改为 Windows 应用程序后应用程序无法正常工作【英文标题】:application not work correctly after change type to windows application 【发布时间】:2014-04-13 05:19:09 【问题描述】:我创建了一个 C# 控制台应用程序来将计算机中的某个文件上传到 Web 服务器。它工作正常。但我也想隐藏我的控制台应用程序。 然后我将我的应用程序类型从属性面板更改为 Windows 应用程序。现在我意识到它不能正常工作..它仍然可以完成所有期望上传部分的操作。当它是控制台类型时,它会正确上传过程并运行直到我点击输入因为我添加了 console.readline();到它。但是现在当我在 Visual Studio 中运行时,它会在成功上传之前自动停止运行。我不明白为什么..需要帮助
我的上传代码如下。
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;
【问题讨论】:
【参考方案1】:我建议创建三个项目:
第一个项目将是您的“服务”项目,它只是一个普通的类库,它公开一个类来执行 Upload()
方法。
第二个项目将是您的控制台应用程序。添加对您创建的第一个项目的引用,并从您的服务项目中创建该类的新实例。
第三个可以是 windows 项目。这也将参考服务项目。就像在控制台应用程序中一样新建课程。
这样,您只需右键单击所需项目并选择调试即可运行控制台应用程序或 Windows 应用程序。
您不能只是从控制台切换到 Windows 应用程序类型而不进行管道工作以使其工作。
【讨论】:
以上是关于将类型更改为 Windows 应用程序后应用程序无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
ListAdapter 在将数组类型更改为 int 后拒绝应用程序
如何在 C# 中以编程方式将 Windows 服务的启动类型更改为禁用
NSMetadataQuery isUpdating 在可达性更改为无 Swift 4 后中断