Visual Studio
Windows、Web、モバイル デバイス用のアプリケーションを構築するための統合開発ツールの Microsoft スイートのファミリ。
120 件の質問
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
クローズド・ネットワーク上にあるPCに、開発環境(Visual Studio 2019)を置いております。
このネットワーク下で、Visual Studio 2019の更新を行なうため
firewallに、Visual Studio 2019 更新用ダウンロードサイトへの接続許可設定
を行いたいと考えております。
Visual Studio 2019 更新用ダウンロードサイトについて、情報をいただけないでしょうか。
%LOCALAPPDATA%\Microsoft\VisualStudio\Packages\_ChannelFeeds
以下にある .updateUri
とchannel.json
を探す.updateUri
に記載されているurlからchannels.jsonをダウンロードchannels.json
内でchannelIdがVisualStudio.16.Release
のchannelUriを調べる(プレビューなどの場合はそれに応じて)*.chman
をダウンロード*.chman
内でfileNameの拡張子が*.vsman
になっているurlを調べる*.vsman
をダウンロード*.vsman
に記載されているuriを全て調べる202502028追記
*.vsman
内のアドレスだけでなく、リダイレクト先も調べないとダメですね。
using System;
using System.Collections.Generic;
using System.Linq;
namespace CSConsoleCore
{
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
string pathVSMAN = "VisualStudio.vsman";
HashSet<string> urls = GetUrlsFromJson(pathVSMAN);
string[] skipList = new[] { "download.visualstudio.microsoft.com" };//判定除外のホスト
Dictionary<string, int> dlhosts = new Dictionary<string, int>();
Dictionary<string, HashSet<string>> redirects = new Dictionary<string, HashSet<string>>();
int counter = 0;
int skip = 0;
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
foreach (var url in urls)
{
counter++;
var uri = new Uri(url);
if (skipList.Contains(uri.Host))
{
skip++;
}
else
{
try
{
var result = await client.SendAsync(new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Head, uri));
var target = result?.RequestMessage?.RequestUri;
if (target != null)
{
dlhosts.TryGetValue(target.Host, out var targetCount);
dlhosts[target.Host] = targetCount + 1;
if (uri.Host != target.Host)
{
if (!redirects.TryGetValue(uri.Host, out var list))
{
list = new HashSet<string>();
redirects.Add(uri.Host, list);
}
if (list.Add(target.Host))
{
Console.WriteLine($"リダイレクト {uri.Host} -> {target.Host}");
}
}
}
}
catch (System.Net.Http.HttpRequestException ex)
{
Console.Error.WriteLine(ex.Message);
}
}
Console.Write($"{counter} / {urls.Count} ({skip})");
Console.CursorLeft = 0;
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("*** リダイレクト先 ***");
foreach (var redirect in redirects)
{
Console.WriteLine(redirect.Key);
foreach (var target in redirect.Value)
{
Console.WriteLine("\t" + target);
}
}
}
}
}
リダイレクト go.microsoft.com -> dl.google.com
リダイレクト aka.ms -> dl.google.com
リダイレクト go.microsoft.com -> archive.apache.org
リダイレクト go.microsoft.com -> cocos2d-x.org
リダイレクト go.microsoft.com -> www.python.org
リダイレクト www.incredibuild.com -> ib-downloads-official.s3.amazonaws.com
リダイレクト aka.ms -> armkeil.blob.core.windows.net
リダイレクト go.microsoft.com -> objects.githubusercontent.com
リダイレクト go.microsoft.com -> download.visualstudio.microsoft.com
リダイレクト go.microsoft.com -> public-cdn.cloud.unity3d.com
リダイレクト go.microsoft.com -> download.unity3d.com
リダイレクト go.microsoft.com -> epicgames-download1.akamaized.net
13364 / 13364 (13312)
*** リダイレクト先 ***
go.microsoft.com
dl.google.com
archive.apache.org
cocos2d-x.org
www.python.org
objects.githubusercontent.com
download.visualstudio.microsoft.com
public-cdn.cloud.unity3d.com
download.unity3d.com
epicgames-download1.akamaized.net
aka.ms
dl.google.com
armkeil.blob.core.windows.net
www.incredibuild.com
ib-downloads-official.s3.amazonaws.com