私のプログラム用に "アップデータ"を作成しようとしていますが、実行する必要があるのはurlからexeをダウンロードすることです。 WebClient.DownloadFile
(https://msdn.microsoft.com/en-us/library/ez801hhe(v=vs.110).aspx)を使用しようとしていますが、エラーが発生しています:An object reference is required for the nonstatic field, method, or property 'WebClient.DownloadFile(string, string)'
私はこれが私が見落とした愚かなものだと仮定していますが、それを理解することに問題があります。どんな助けもありがとうございます。Winforms - 非静的なフィールド、メソッド、またはプロパティにオブジェクト参照が必要です
コード:
private void Update()
{
string downloadURL = EXE_LOCATION;
string progName = Application.ExecutablePath.Substring(Application.ExecutablePath.LastIndexOf("\\") + 1);
string progLoc = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\\") + 1);
if (File.Exists(progLoc + progName))
{
try
{
File.Move(progLoc + progName, progLoc + "Old-version.exe");
}
catch (Exception ex)
{
Console.WriteLine("Problem renaming: " + ex.Message);
}
}
WebClient.DownloadFile(downloadURL, progLoc + progName);
}
'DownloadFile'は静的ではありません。 'WebClient'のインスタンスが必要です。 –
WebClient webclient = new WebClient(); webclient.DownloadFile(downloadURL、progLoc + progName);私は実際にコードを正しくコメントに入れる方法を見つけ出す必要があります。 – jpaugh78
.Netには、あなたのためにパスとファイルを分割するメソッドがあります。場所を取得するための 'Path.GetDirectoryName(Application.ExecutablePath)'と、名前のための 'Path.GetFileName(Application.ExecutablePath)'があります。 – stuartd