コンテンツへ移動
2015/07/21 / Azulean

Visual Studio 2015 (VS2015) の「標準」には C++ が含まれていない

先週末にリリースされた Visual Studio 2015 ですが、デフォルトのインストールオプションの「標準」には C# と VB.NET が中心となっており、C++ がインストールされない設定のようです。

image

戦略的にわからなくはないのですが、C++ が必要な方は最初からカスタムインストールを選びましょう。

image

モバイル開発(iOS, Android)もされる方は、もう少し下の方に選択肢があります。

image

なお、標準でインストールしてしまった場合、Visual C++ のプロジェクトを作ろうとしても、機能のインストールという選択肢が出てくるわけになります。

image

2015/07/04 / Azulean

Visual Studio 2005/2008/2010/2012 Express の登録キーが取得できなくなった?

[2015/08/19追記] 2010 と 2012 の登録キー発行が再開したようです。→参照
[2017/11/09追記] 2017に関する記載を更新しました。

以前から Visual Studio(Visual Basic, Visual C#, Visual C++, Visual Web Developer) Express の 2005/2008 あたりは登録キーが取得できないという話が MSDN フォーラムに挙がっていましたが、最近は 2012 までのバージョンにおいて同様に取得できなくなっているようです。

具体的には、登録キーをオンラインで取得するためのボタンやハイパーリンクをクリックすると、Microsoft のホームページにたどり着き、登録キーを取得する流れが途切れています。
2010 で IE の開発者ツールで情報を見る限り、リダイレクトの過程で 404 エラーページに飛ぼうとして、さらに Microsoft のトップページにリダイレクトされているので、ページが削除されている疑いが濃厚です。
(あくまで、現時点(2015/07/04)の振る舞いを述べていますので、状況が変わる可能性はあります)

※MSDN フォーラムにおいて、取得できなくなっている事象について告知されています。

このように登録キーが取得できなくなっているので、それぞれの対処は以下のようになります。

バージョン 対処方法
2005 オフラインインストール版を利用する
Internet Archive のキャッシュ からたどれる)
2008 オフラインインストール版を利用する
http://go.microsoft.com/?LinkId=9348306
2010 方法なし
新しいバージョンへ移行することを検討する

[2015/08/19追記]
システムが復旧したことがMSDNフォーラムにて告知されている。
2012 方法なし
新しいバージョンへ移行することを検討する

[2015/08/19追記]
システムが復旧したことがMSDNフォーラムにて告知されている。
2013/2015 登録キー方式ではなく、Microsoftアカウントでのサインインが必要。
(オフラインでは登録不可)
2017 Expressは廃止されました。
個人開発者など、Communityの条件を満たす人はそちらを、企業など条件を満たさない方は有償製品を買うしかありません。
[2017/11/09追記]
for Windows Desktopのみですがリリースされています。ただし、これが最後のリリースなのでCommunityの条件を満たさない方は「無料で便利」と使い続けるのではなく、将来的な計画も立てていく必要があります。

 

2005 や 2008 はオフラインインストール版で回避できるのですが、2010 からはオフラインインストール版でも登録キーが必要になっているので回避できません。
このため、現時点では 最新バージョン の Express、使用条件を満たすなら Community Edition に移行することが必要になります。
(Community Edition では企業ユースでは使えないことが多いはずですので、使用条件に注意

Express のどれを選べば良いかわからない場合

以前とは違い、言語別ではなく、目的別の構成になっています。

デスクトップアプリ開発 Express for Windows Desktop
Web アプリ開発 Express for Web
Windows ストアアプリ開発 Express for Windows

どうしても特定のバージョンが必要な場合

企業ユースなど、どうしても、過去バージョンの Visual Studio で開発することが必要な方は、Visual Studio + MSDN を購入すれば、過去バージョンの Visual Studio もダウンロードすることができるようになりますので、この機会にご検討いただいた方が良いかもしれません。

2013 からはオフライン環境では使えません

2013 の Express からは「Microsoft アカウントでサインインできる環境」が必要 となっています。
つまり、オフラインインストールはサポートされていないと考えられます。
US Forum の参考スレッド

Visual Studio がどうしてもオフライン環境で必要な場合は、有償製品を買っていただくしかなさそうです。

(もし、ビジネスとしてそういった要求が生じているのであれば、今回の旧バージョンの打ち切りという事情を考えて、「開発環境はタダで手に入る」と思わず、きちんと予算化する(費用計上する)しかないと思います、現場によっては難しいかもしれませんが…)

2017 からは Express が廃止されています

2015 の時点で「Community があるから Express を出さない」という噂がありましたが、2017 から正式に Express が廃止となりました。
[2017/11/09追記] 遅れて for Windows Desktopのみリリースされています。ただし、2017が最終バージョンであることが明言されましたので、Community の条件を満たさない環境の方は Express がなくなるものとして計画を立てていくことが必要です。

個人開発者など、Community の利用条件を満たす方はそちらを使いましょう。
企業など、使用条件を満たさない方は費用をかけて Professional 以上を買うか、古い環境を使い続けるか、別のソフトウェアに移行するかの決断の時です。
(古い環境はいずれサポート終了日を迎えます。そのときまでには買うか、別のソフトウェアに移行するか考えましょう)

2014/10/05 / Azulean

Visual C++ で Windows フォームアプリケーションを作ることはすでに推奨されていない

Visual C++ 2012 の Break Changes にも書かれていたようですが、Visual C++ 2012 から Windows フォームアプリケーション関連のプロジェクトテンプレートの削除、そして以下のような内容が掲載されています。

Although we recommend that you do not create Windows Forms applications in C++/CLI, maintenance of existing C++/CLI UI applications is supported. If you have to create a Windows Forms application, or any other .NET UI application, use C# or Visual Basic. Use C++/CLI for interoperability purposes only.

つまり、「既存のメンテナンスを除いて、Windows フォームアプリケーションを C++/CLI で書くな」ということです。
「C++/CLI はネイティブ資産との相互運用目的に使う」とも書かれているので、これで C++/CLI の役割ははっきりしたと言えますね。

なお、最近、KB(Microsoft のサポート情報)にも同様のコメントが公開されています。
問い合わせがあったのかもしれませんね。

https://support2.microsoft.com/kb/3001686

2014/10/05 / Azulean

Windows 10 Technical Preview における .NET 3.5 の扱い

ご注意:Windows 10 は Technical Preview というプレリリースソフトウェアの段階です。製品版までの間に仕様変更が行われる可能性が高く、この記事はあくまで現時点の状態について語るものです。この記事の内容を信じて行動した結果、最終的に被害・損失などにつながったとしても筆者は保証しません。

 

Windows 10 Technical Preview の現状を確認する意味で Hyper-V 上にクリーンインストールしました。
個人的に気になっていた、.NET Framework 3.5 の扱いですが、Windows 8/8.1 と同様のようです。
つまり、デフォルトではインストールされておらず、インストールを選ぶとオンラインからダウンロードしようとする振る舞いのままと言うことです。

image

image

image

 

あえて、ネットワークアダプタを無効にすると失敗します。
(dism を使う方法がまだ有効かは試していません)

 

このまま方針が変わらなければ、「.NET Framework 2.0 ~ 3.5 ベースのアプリはインストールしただけでは使えない」となります。(Windows 8/8.1 も同様)
Windows 8/8.1 には正式対応していないが、Windows 10 のタイミングでは何とかしたいというベンダーの方々は、.NET Framework 4 以上への移行を計画的に進めた方が良いでしょう。

(オフラインの環境だけど使いたいというエンドユーザーに説明して、dism コマンドを使ってもらうのは大変ですし、使えないクレームは自分たちベンダーに来るということを考えると、移行は必要でしょう)

2014/06/29 / Azulean

.NET 2.0-3.5として作られたアプリを.NET 4ランタイムで動かせるか?

.NET 4からCLRが新しくなったことで、基本的に.NET 3.5で作られたアプリのプラグイン、アドインを.NET 4で作ることはできません。
これを回避するためにはいくつかの方法が考えられます。

  1. 対象アプリを.NET 4で動かす。
  2. .NET 3.5でプラグイン、アドインを作り、.NET 4のアプリと通信する。
  3. .NET 4で作ろうとしていた部分をネイティブ、COMで作って利用する。

まっとうな方法は2や3になるかと思いますが、.NET 4で無理矢理動かす方法を少し見てみましょう。

対象のアプリがhogehoge.exeだとすると、hogehoge.exe.configに以下のような記述を作ります。

<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0"/>
   </startup>
</configuration>

参考URL:http://msdn.microsoft.com/ja-jp/library/jj152935(v=vs.110).aspx

これでたいていのアプリは.NET 4で動きます。
ただし、勝手に.NET 4で動かしているので無保証となる点にご留意いただき、利用者の自己責任で使うことを前提としてください。

なお、プラグイン・アドイン方式でセキュリティ問題をケアしている場合、CAS周りでNotSupportedExceptionが発生する可能性があります。
loadFromRemoteSourcesを使って脆弱にして動かすか、素直に2や3のアプローチを採るか、よく考えましょう。

2014/01/17 / Azulean

修正された?:Windows8.1開発者用ライセンスを取得できませんでした エラー 0xC03F1014

先月、MSDN フォーラムで「Windows8.1開発者用ライセンスを取得できませんでした エラー 0xC03F1014」と表示されて開発者用ライセンスが取得できないという質問 が挙がっていた。

今月に入って、KB2913270 を適用すると改善する という情報が Microsoft の担当者から寄せられているので、もし、お困りの方は試してみてはいかがでしょうか。

http://support.microsoft.com/kb/2913270

2013/12/14 / Azulean

Microsoft Help Viewer 2.1でローカルストアパスがアクセスできなくなった場合のリカバリー

Visual Studio 2013 などに標準で付属している Microsoft Help Viewer 2.1(ヘルプビューア)はコンテンツの管理画面からローカルストアを変更することができます。

image

この時に指定したフォルダー・ドライブが何らかの事情でアクセスできなくなると、エラーメッセージとして「ヘルプ コンテンツのインストール先に指定した場所が無効か、アクセス許可がありません。」というエラーを表示し、即座に終了するという回復不能な状態に陥ります。

image

そこで、この状態からの回復をトライしてみた記事を取り上げてみます。
手順の途上にレジストリを触る箇所があります。レジストリは取り扱いを間違えると Windows が起動しなくなるなどの深刻な事態を招く可能性があります ので、十分にお気をつけください。

  1. レジストリエディタで以下の場所を開く。(Visual Studio 2013 の場合)
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Catalogs\VisualStudio12(64bit 環境)
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v2.1\Catalogs\VisualStudio12 (32bit 環境)
  2. LocationPath にアクセスできなくなったフォルダーパスが入っているので、新しく保存先としたいフォルダー名を指定する。
    image
  3. これだけでは足りないので、指定したフォルダーに空のファイルでよいので「CatalogType.xml」という名前を持つファイルを作る。
    たとえば、新規テキスト文書で作ってこの名前に変えてもよい。拡張子を変えるため、拡張子を表示しておいた方がやりやすいです。
  4. ここまでで準備完了で、また Visual Studio 2013 からヘルプを表示しましょう。

今回、試した Windows 7 (x64) 環境では回復できました。
環境やバージョンによってはうまくいかないかもしれませんので、自己責任で試してください。