ラベル Visual Studio の投稿を表示しています。 すべての投稿を表示
ラベル Visual Studio の投稿を表示しています。 すべての投稿を表示

2022-08-30

Visual StudioでNugetを用いてライブラリをインストールする

Visual Studioで開発する時に関わらず、プログラミングをする際に、他のソフトウェアライブラリを利用する場合は多々あります。その際は、そのライブラリをダウンロードするだけでなく、開発しているプログラムがそれを使えるように設定する必要があります。

Pythonなどでは、pip などのコマンドを利用して各種ライブラリを利用しますが、Visual Studioにも同様のフレームワークがあります。それがNugetです。Nugetではライブラリのことをパッケージと呼んでいます。

Nugetパケージマネージャー

下記の図のとおりに、Visual Studioのメニューより、ツールを選択することで見つけることができます。コンソールを利用してコマンドラインでパッケージをインストールしたり、GUI画面を利用してパッケージを管理することができます。

使いたいライブラリがNugetに対応しているか?

Nuget.org にアクセスすると、登録されているライブラリとそのインストールコマンドを見つけることができます。有名なライブラリは対応していますので探してみてください。また、パッケージの管理GUIでも見つけることができます。





2021-05-23

Visual Studio2019 でBlazorを利用しようとしたらパッケージが見つからない

Blazorというのが面白そうなので、遊んでみようかと思ったら、デフォルトのプロジェクトでいきなり

  • パッケージ xxxxxxxxが見つかりません。

というエラーに遭遇したのでいろいろ調べて動くようになったメモ書きです。

.NET5.0にしたほうがいいかも
もしかしたら、直接は関係なかったかもしれませんが、

 Blazor 3.2 WebAssembly プロジェクトは、.NET Standard 2.1 (<TargetFramework>netstandard2.1</TargetFramework>) をターゲットにするようコンパイルされていました。 ASP.NET Core 5.0 では、Blazor Server と Blazor WebAssembly プロジェクトの両方で .NET 5.0(<TargetFramework>net5.0</TargetFramework>) がターゲットとされます
的な話が、Microsoftのサイトに書いてました。まあ、流石に NET Standard 2.1 はもう古い気もするので、.NET5でプロジェクトを作成したほうがいいですね。PCに.NET5のSDKが入っていれば作成時に指定できます。指定できなければ入ってないのでダウンロードしてインストールしてください。

Nugetのパッケージソースを指定する
これが根本的な原因かな。。Blazorのために久しぶりにVisual Studiioをいれたんですが、エラー的にパッケージが見つけられない→Nugetがなんとかしてくれるはずだよな。。とか思ってたんですが、まさにNugetがダメでした。参照するパッケージソースが空になってるんですよね。。。なんでやねん!というわけで、正しいURLとして
  • nuget.org
    https://api.nuget.org/v3/index.json

を指定。これでBuild時に探しにいってくれました。

 参考



2017-02-03

XAML の UI デバッグツールを無効にする


最近、やっとVisual Studio2015を使い始めたのですが、実行するとなにやら変な物が出ます。上の画像みたいな黒いやつです。これは、
  • 実行中の WPF アプリケーションのビジュアル ツリーやツリー内の任意の要素のプロパティを検査することができます(Visual Studio日本チームBLOGより
という優れものらしいですが、とりあえず今の私には不要なので、邪魔。。。

というわけで、消し方ですが、
  • デバッグ > オプション メニューより、デバッグ > 全般 > XAML のUI デバッグツールを有効にするのチェックを外す
で解決です。

ホントは、使いこなせたほうがいいんでしょうけど、とりあえず。



2014-08-26

COFF への変換中に障害が発生しましたというエラーへの対処法

Visual C++ においてコンパイル時に
COFF への変換中に障害が発生しました。ファイルが無効であるか、または壊れています
というエラーが発生することがあります。もし、Visual Studio2010を使っていてこのエラーが起きるのであれば、
  • Visual Studio 2010 のSP1をインストールする
ということで解決するでしょう。


2013-11-28

コンピュータに MSVCR110.dll がないため、プログラムを開始できません

Windowsでソフトを動かそうとした時、
コンピュータに MSVCR110.dll がないため、プログラムを開始できません
みたいなメッセージがでて起動できない時があります。

これは、Visual Studio 2012(C++)でで作られたアプリのライブラリがないということなので、下記の公式サイトからダウンロードして下さい。



2012-08-17

std::queue::cではなく、std::queue::_Get_containerを使う

Visual Studio2005で動かしているC++のプログラムを2010に移植した時に問題発生。std::queueクラスでコンテナーを返す処理をする時、2005のプログラムでは
std::queue::c[0]
みたいな呼び方でよかったのだが、2010ではprotectedなメンバーにはアクセスできないとかいうエラーが発生。言語仕様の変更か?そんなことってありうる?と疑問に思いつつも、今は2012年。もう7年も前の仕様だし、、ということで、代替方法を探す。結局、代替のメソッドがあったのでそれを利用。
std::queue::_Get_container()[0]
という記述でとりあえず動いている模様。このやり方がベターなのかは不明。

2010-12-16

[C++] Visual C++でerror C2143: 構文エラー がでた場合の原因と対処

卒研のプログラムで、
  • error C2143: 構文エラー : ';' が '◯◯' の前に必要です。
というエラーが発生。ちょっとハマったのでそのメモ書きです。まず、その原因は次の2つのいずれかです。
  1. ケアレスミス。括弧やセミコロンが抜けているなど
  2. 利用しているクラスが未定義

今回の原因は後者でした。具体的に言いますと以下のような記述のところでエラーがでました。
CString str;
CTest* test; // ←ここでerror C2143

なにがまずいかというと、この状況でのエラーは、「CTestがクラスとして認識されていない」のが原因だったようです。

【解決策】
  • CTestを定義しているヘッダをincludeする
  • プロジェクトのプロパティ→構成プロパティ→C/C++→全般→追加のインクルードディレクトリ にCTest.hが入っているディレクトリを指定する
インクルードディレクトリの設定もうっかり忘れることがありますので、気をつけたいものです。