CATEGORY C#

.NETフレームワークを新人研修にて半年ほど学んだため、個人的に愛着のある言語です。

.NET Core 3.0 MVCで作成したプロジェクトが起動しない

プロジェクトを作成した直後のデフォルトの状態で、エラーが起きた時の備忘録 状況① Visual Studio for MAC バージョン8.3 .NET Core3.0 MVC (プロジェクトの作成直後) 2019年11月28日時点 ふと、C#でプログラムを書いてみたくなり、.NET Core 3.0 プロジェクトを新規作成し、GUIでビルドすると、起動するはずのブラウザが起動しなかった。 .csprojファイルをいじったりと無駄な努力をしてみたが、結局解決せず。 dotnet コマンドでビルドを行い、ログから開いているポート番号を確認した。 localhost:5000 にアクセスし、アプリが起動していることを確認できた。 どのポートを開くかは、launch.jsonで設定できるっぽい

状況② プロジェクト作成後のデフォルト時に怒る時のエラーです。 <code>dotnet run</code>の後に証明書がないというエラーが出る。

.NET Coreプロジェクトの作成時にHTTPS/HSTS をオプトアウトする必要があります。 プロジェクト作成時の HTTPS/HSTS のオプトアウト

Azure Functionチュートリアルをやってみた

.NET Core2.2でAzure Functionのプロジェクトを作成できるチュートリアルがあったのでやってみました。 Link:関数の作成 – C# (公式ドキュメント) Azure Functionはサーバーレスなサービスで、料金もあまりかからないところも魅力です。 Functionの価格設定は、毎月の関数の実行回数から算出されており、100万回アクセスまでは、無料(参考)となっているため、個人利用であればほぼ使い放題です。 今回は、このAzure Functionを試していきます。 プロジェクトの作成 選択するのはマーカーで印がつけられた部分 Function ランタイム :.NET Core2.2 関数テンプレート : HTTPトリガー → HTTP要求がトリガーとなって関数が呼ばれます。 ストレージアカウント : ストレージアカウントエミュレーター 承認レベル : Anonymous →Anonymousとすると、全てのクライアントからトリガーできます。チュートリアルのなので、とりあえずAnonymousとしました。 作成ボタンをクリックすると、プロジェクトが作成されます。 関数だけなので、かなりシンプルな構成ですね。

の部分が、関数名になります。 試しに「F5」キーを押して実行してみましょう。 Azure Function Core Toolsと呼ばれるコンソールが表示され、アプリケーションの動作が確認できます。 Visual Studioさん流石です コンソール画面の出力から、 赤線部のURLをコピーし、ブラウザーでの応答を確認します。 http://localhost:7071/api/Function1?name=debobonetとURLをたたいたら、Hello, debobonetという出力が返ってくることが確認できます。 これで、ローカル環境での開発は終わりです。簡単ですね Azureにデプロイ 次はAzureにプロジェクトを発行していきます。本来であれば、コマンドを叩いたりなどの操作が必要だったりすることが多いのですが、Visual Studioにはデプロイの機能も備わっています。 「ソリューションエクスプローラー」から、プロジェクトを右クリックし、「発行」を選択すると以下の画面へと遷移します。 Visual Studio Proのライセンスを持っていると、5000円分のAzureクレジットも付いてくるため、Visual Studio Professionalというサブスクリプションが選択できます。…

LINQの書き方(C#)

LINQとは LINQについて、Webサイトで調べると、"LINQはプログラミング言語(C#やVB)に統合されたクエリ用言語です。通常データベースアクセスに使用するSQLが、C#やVBのプログラム内では文字列として扱われるのに対し、LINQはそれ自体が言語に統合されたクエリとして認識されます。( 参考 )などと書かれていたりしますが、書籍管理アプリでLINQを使う場合のサンプルがあったほうが、わかりやすいかと思いますので、サンプルを貼っていきます。 基本的な考え方 ここでは、蔵書テーブルに対するやり取りのサンプルコードを使用します クエリ文の宣言

条件を加える

リストとして実体化する

1~3までの処理を一行にまとめる

処理を一行でまとめるとシンプルなコードが書けるのですが、 クエリ文を作成するところと、実体化する部分を分けることによって 、検索やソートの処理を簡単に実装することができます。以下は参考です。 Microsoft Document→ ASP.NET Core の Razor Pages と EF Core – 並べ替え、フィルター、ページング やりがちなミス 演習を進めていくと、貸し出しテーブルの「ステータス」と書籍マスタの書籍名を一つのページに表示させたいという場面があるかと思います。 その時に、以下のようにLINQを書くと、上手くいきません。

理由としては、上の図を見てもらえば分かると思うのですが、テーブルの設計上、BorrowBooksテーブルからしか、Booksテーブルの内容を参照できないことが原因になります。 他のテーブルのデータを取ってきたい場合は、青い矢印でたどっていくように、以下のようにコードを書くと上手くいくと思います。

.NET Framework3.5を有効化する時に、「エラー: 0x800f0954」でハマった

前提 2019年11月8日時点 会社用PC Windows 10 →多分セキュリティ的な何かで上手く行かなかったと思われる。 開発中のアプリケーションでIE7に対応して欲しいとのことだったので、 .NET Framework4.7から.NET Framework3.5へと移行する必要があった。 解決策 普通にGoogle検索しても解決できなかったが、 Qiitaで調べたら一発だった。 【参考】1803を適用後のWindows 10で.NET Framework 3.5を有効にする 上記のサイトで手順7まで進んだら、コントロールパネルから.NET Framework3.5を有効化する。 【参考】Windows 8、Windows 8.1、および Windows 10 への .NET Framework 3.5 のインストール