2013-07-15 114 views
0

我需要帮助,这是不给我任何错误,但它不工作或者检查应用程序版本:/通过文本文件

如果有人可以帮助我将不胜感激。

WebRequest request = WebRequest.Create("http://sitebuilder.yola.com/restricted_view/site_design/8a4986ca3fa8df50013fb4a713810fe3/resources/program_hudtool/version_hudtool.txt"); 
WebResponse response = request.GetResponse(); 
System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream()); 
string newestversion = sr.ReadToEnd(); 
string currentversion = Application.ProductVersion; 

if (newestversion.Contains(currentversion)) 
{ 
this.Text = "Test [Version 0.5] | No Update Available"; 
} 
else 
{ 
this.Text = "Test [Version 0.5] | Update Available: " + sr.ReadToEnd(); 
} 
+0

当调试这个时,'newestversion'和'currentversion'的值是什么? – David

+0

你不能这样做'sr.ReadToEnd()'两次。你已经在'newestversion'变量中使用它,而不是第二次使用它。 – Blorgbeard

+0

@Blorgbeard谢谢,但仍不能解决我的问题。 – Joshe343

回答

0

首先确保您从两端(web和本地)获得正确的版本。

string newestversion = sr.ReadToEnd(); 
string currentversion = Application.ProductVersion; 

//Test if both versions are valid. 
//Debug.WriteLine(newestversion); 
//Debug.WriteLine(currentversion); 

Version vOnline=new Version(newestversion) 
Version vLocal=new Version(currentversion) 

if(vOnline > vLocal) 
{ 
} 
else 
{ 
}