searchカテゴリー選択
chevron_left

カテゴリーを選択しなおす

cancel
プロフィール
PROFILE

tsuna-canさんのプロフィール

住所
未設定
出身
未設定

自由文未設定

ブログタイトル
ツナ缶雑記
ブログURL
https://tsuna-can.hateblo.jp/
ブログ紹介文
マイクロソフト系の技術を中心にして、主に詳細な使い方や手順を解説しています。
更新頻度(1年)

10回 / 82日(平均0.9回/週)

ブログ村参加:2020/04/12

本日のランキング(IN)
読者になる

新機能の「ブログリーダー」を活用して、tsuna-canさんの読者になりませんか?

ハンドル名
tsuna-canさん
ブログタイトル
ツナ缶雑記
更新頻度
10回 / 82日(平均0.9回/週)
読者になる
ツナ缶雑記

tsuna-canさんの新着記事

1件〜30件

  • Azure DevOpsから送信されてくるメールをプロジェクト別にフォルダへ振り分ける方法

    Azure DevOps の組織やプロジェクトに複数所属していると、各プロジェクトから送られてくるメールが全く同じアドレスから、同じようなタイトルで送られてきてしまいます。 普通にメールの振り分けを行おうとしても、送信元メールアドレスやタイトルなどから振り分けるルールを作るのはなかなか困難です。 今回は、 Azure DevOps から送られてくるメールを組織別、プロジェクト別に振り分ける方法を解説しようと思います。 なおこの記事に記載している内容は、2020年6月10日時点の動作に基づくものであり、今後変更される可能性もあります。 また解説している内容について、公式に仕様が明記されていない内…

  • Azure Pipelines の Windows ビルドマシンで bash タスクを使う際の注意点

    Azure Pipelines で Windows OS のビルドマシンを自前で準備したとき、 bash タスクが失敗することがあります。この記事では最もお手軽な解消方法を解説します。

  • 個人的によく使うAzure Pipelinesの定義済み変数まとめ

    Azure Pipelines で YAML を書いていると、毎回のように定義済み変数の名前を検索することになります。 変数名が長すぎて覚えきれない。 今回は YAML を書くとき私が個人的にめちゃくちゃよく使う定義済み変数をまとめておきます。 よく使う定義済み変数 変数の名前 意味 値の例 Agent.BuildDirectory または Pipeline.Workspace ビルドエージェント内に作成されるこのビルドパイプライン用のルートディレクトリ。どちらを使っても同じ値。 c:\agent\_work\1 Build.SourcesDirectory ソースコードをダウンロードしてくる…

  • GitHub のリポジトリに Boost Software License 1.0 を適用する方法

    GitHub で公開リポジトリを作成する際、最初にライセンスを選択すると思います。 GitHub のヘルプを読むと、「Boost Software License 1.0」 が選択できるようなのですが、 UI 上このライセンスが選択できません。 ライセンスの選択 今回は「Boost Software License 1.0」を選択する方法を紹介します。 この手順は 2020/05/08 時点の手順であり、今後変更される可能性があります。 リポジトリの作成 まずはライセンスなし(None)でリポジトリを作成します。 ライセンスは一旦 None にする ライセンスの追加 リポジトリ作成後、以下の …

  • Azure Pipelines で Windows サービスの停止/開始を安全に行うテンプレートを作る

    Windows サービスをデプロイするリリースパイプラインを作ろうとすると、リリースパイプライン内で Windows サービスを停止したり開始したりする必要があります。 Windows サービスは常駐プロセスなので、一度停止しないとモジュールの交換ができません。 ということで、今回は Windows サービスの停止/開始を行う Azure Pipelines の YAML テンプレートのご紹介です。 環境 Windows 10 1909 .NET Framework 4.8 前提条件 今回紹介するビルド/リリースパイプラインは、インストール済みの Windows サービスを置き換えるためのパイ…

  • Visual Studioでファイルを簡単にネスト表示する方法

    Visual Studio を使っていると、一部のファイルがネスト表示されることに気づくと思います。 ネスト表示されるファイル 物理フォルダを見ると、これらのファイルはフラットに配置されていることがわかります。 ファイルはフラットに配置されている Visual Studio のソリューションエクスプローラー上の表示がネスト表示されているだけなんですよね。 このネスト表示、既存のファイルを読み込んだりすると、壊れてしまうことって結構あります。 壊れてしまうと、プロジェクトファイルを手修正する必要があって、すごくめんどくさいなーとか思ったことありませんか? あと ASP.NET Web アプリケー…

  • App.config に対して XML 変換を行う Azure Pipelines の YAML テンプレートを作る

    ASP.NET のプロジェクトを作成すると、 Web.config ファイルが生成されます。 それと同時に、Web.Debug.config と Web.Release.config が作成され、アプリケーションの発行を行う際の構成にあわせて、 Web.config の変換を行ってくれます。 今回はこの構成ファイルの書き換え機能を App.config に対して実行できるような Azure Pipelines のテンプレートを作ってみようと思います。 環境 Visual Studio 2019 .NET Framework 4.8 コンソールアプリケーション(App.config のあるプロジ…

  • Azure Pipelines の YAML テンプレートにある buildPlatform の設定に注意しろ

    地味にはまったので供養のためメモを残しておきます。 本稿は 2020/4/15 現在の情報を示すものであり、 Azure Pipelines および Visual Studio の更新によって、将来当てはまらなくなる可能性を含んでいることに注意してください。 結論から言うと。。。 Azure Pipelines の ASP.NET や デスクトップ .NET アプリケーションの YAML テンプレートを使うとき、テンプレートとして出力される YAML を必ず見直しましょう。 具体的には以下の 3 つのテンプレートのことを言っています。 ASP.NET ASP.NET Core (.NET Fr…

  • Azure Pipelines の YAML から Azure Key Valut のシークレットにアクセスする

    シークレットとは、秘匿しておきたいデータのことを言います。 例えば、本番データベースへの接続文字列などがこれに当たります。 Azure にはシークレットを管理するサービスとして、 Azure Key Vault があります。 今回はこれを Azure Pipelines の YAML から利用できるようにする手順を解説しようと思います。 Service Connection を追加する Azure Key Vault を作成する シークレットの登録 Azure Pipelines に YAML を追加する YAML から Azure Key Vault にアクセスする YAML 内で Azur…

  • はてなブログで自動的にPing送信する方法(Azure Logic Apps で RSS フィードをトリガーとして使用する)

    Azure Logic Apps で RSS フィードをトリガーにした処理を作ってみました。はてなブログに新たな記事を投稿したら、自動的ににほんブログ村にPingを送る仕組みを作っています。

  • Data Explorer を使って Cosmos DB にデータを登録/検索する方法

    Data Explorer を用いて Cosmos DB にアクセスする手順を初心者向けに解説しました。Data Explorer は Cosmos DB Emulator に付属するものを使用しています。

  • ローカルマシンで Cosmos DB を実行する

    Azure のサービスの 1 つに、 Cosmos DB というデータベースサービスがあります。 データベースと言っても、ドキュメント DB や Key-Value Store など、リレーショナルデータベースではないデータベースサービスです。 こいつの特徴を簡単に言うなら、地理冗長の構成を作るのがめちゃくちゃ簡単であり、高可用性を実現するのが容易、ということでしょうか。 ただ、お値段が非常に高額であるというデメリットもあります。 利用料は、 1 秒間にどれだけのデータを読み書きするかによって決まります。 2020 年になって、 1 つの Azure サブスクリプションに対して 1 つだけ、無…

  • 1つのソリューション内でC#とVBを使う

    最近 C# と VB を混在させる話をよく質問されたので回答しておきます。 C# と VB はソリューション内に混在できる 結論から言うと、これは可能です。 VB のプロジェクトと C# のプロジェクトを用意し、プロジェクト参照を行うことで、 1 つのソリューション内で複数の言語を取り扱うことができます。 C# と VB を混在させたソリューション このような形で別の言語で作成したプロジェクトを、参照に追加することができるようになっています。 そうすると、以下のように C# のプロジェクトから VB のプロジェクトを呼び出すことが可能になります。 Public Module Math Publ…

  • Visual Studio 2019 のタブ表示を切り替える

    Visual Studio 2019の小ネタポストです。 Visual Studio を用いてそこそこ大きなプロジェクトを開発していると、知らず知らずのうちに大量のファイルを用いて開発を進めていくことになります。 何も設定しないでVisual Studioを使っていると、以下のようにファイルはブラウザのタブ表示のような形状で表示されます。 ファイルのタブ表示 これは割と厄介で、大量にファイルを開いていると、最初の方に開いたファイルがドロップダウンの中に隠されてしまい、各ファイルへのアクセスが悪くなります。 ファイルがドロップダウン内に隠れる 同じような名前のファイルをたくさん開いていると、タブ…

  • Azure ReposリポジトリにGitHubリポジトリの最新の状態を反映する方法

    インポート元のGitHubリポジトリに対して行われた修正を、Azure Reposのリポジトリに反映する方法について解説します。なお今回はVisual Studioを使った方法を解説します。コマンドラインでも同等のコマンドを発行することで、同じことができます。

  • GitHubのリポジトリをAzure Reposにインポートする

    GitHubやAzure Reposにはフォークという機能があります。 フォークという機能はGitの機能ではなく、GitHubやAzure Repos単独の機能です。 なのでGitHubのリポジトリをフォークしてAzure Reposに持ってくることは仕組み上できません。 しかし、Azure Reposには別のリポジトリをインポートする機能があります。 この機能を用いると、GitHubのリポジトリをAzure Reposに持ってくることができます。 簡単にその手順を残しておきます。 GitHubのリポジトリのURLを取得する まずはAzure ReposにインポートしたいGitHubのリポジト…

  • HttpClientを使ってHTTPリクエストの送信前後に任意の処理を差し込む方法

    .NET Framework 4.5で追加されたHttpClient、非常に便利に使うことができていい感じですよね。 Web APIへのアクセスを簡単に実装できて素晴らしい。 docs.microsoft.com そんなHttpClientですが、HTTPリクエストを送信する前後に、自由に処理を差し込むことができるようになっています。 本稿ではHttpClientがどのような仕組みで動作するかを簡単に触れて、HTTPリクエストの送信前後に任意の処理を差し込む方法について書いてみようと思います。 前提とする環境 .NET Framework 4.8 HttpClientの仕組み HttpClie…

  • ASP.NET Web APIでPOSTリクエストを処理するときスレッドが変わる

    .NET Framework ベースの ASP.NET Web API を用いた開発を行っていて、ちょっとよくわからない挙動に出くわしたのでメモ代わりに残しておきます。 環境 何がやりたかったのか ログ出力するコード Guid の発行処理を追加する API コントローラーを追加する Restlet Client で呼び出してみる コンソールアプリケーションを作成して Web API を呼び出す Guid の保存場所を変える Global.asax Logger 環境 .NET Framework 4.8 ASP.NET Web API 5.2.7 何がやりたかったのか 今回のシステムではクライ…

  • Chromium版Edgeにブラウザを乗り換えてみた

    2020/1/15にChromium版の新Edgeブラウザーがリリースされました。 私は個人的にも社内でも、ずいぶん長い間Google Chromeを使っていたのですが、今回しばらくぶり(多分10年単位ぶり)に常用ブラウザーを新Edgeに乗り換えてみることにしました。 なぜChromium版Edgeに乗り換えるのか Chromeと同等だから ブラウザーのプロフィールがMSアカウント、Offece 365のアカウントで作成できるから プロファイル別にブラウザーを起動するショートカットが作成できる IEモード Chromeの拡張機能が使える まとめ なぜChromium版Edgeに乗り換えるのか …

  • Azure PipelinesでYAMLを使って仮想マシンにアプリケーションをデプロイする

    Azure Pipelinesには、アプリケーションをデプロイするためのリリースパイプラインを、GUIで作る機能がありました。 この機能は大変便利なのですが、既に「Classic」と表現されていて、徐々に消えていく運命にあります。 今からやるなら、ビルド/リリースパイプラインの定義をYAMLで作り、ソースリポジトリと一緒に管理していくのがよい、とされています。 Azure PipelinesにもYAMLを使ったビルドパイプラインを作る機能があるのですが、悲しいかな仮想マシンに対してアプリケーションをデプロイすることが、標準的な方法では準備されていませんでした。 しかし、2019年末のSprin…

  • Azure Pipelinesで複数のリポジトリを使ったビルドパイプラインを構築する

    Azure Pipelinesを使って、複数のリポジトリをチェックアウトするビルドパイプラインを構築する方法について解説します。

  • Azure DevOpsでリリース時に構成ファイル(Web.config、App.config)の中身を書き換える

    前回、Azure PipelinesのRelease機能を使って、appsettings.jsonの設定値をデプロイ時に書き換える方法について解説しました。 今回はその.NET Framework版ということで、Web.configや、App.configの値をデプロイ時に書き換える方法について解説します。 おおよその手順は前回と変わりません。 違うところだけかいつまんで書きますので、全体的なアーキテクチャとか、処理の流れについては前回の記事を参照してください。 tsuna-can.hateblo.jp 今回はWebアプリケーション(ASP.NET MVC 5)とコンソールアプリケーションを、…

  • Azure DevOpsでリリース時にappsettings.jsonの中身を書き換える

    本番環境にリリースする際、appsettings.jsonの設定値を差し替えたいことって結構あります。PaaSとかなら環境変数を使えばよいのですが、実行環境がVMだとその設定をばらまくのが大変です。そんなとき、Azure PipelinesとKey Vaultを組み合わせると、セキュアな情報もリリース時に安全に上書きできるようになります。本稿ではその手順を解説します。

  • Blazor サーバーのメモリ利用量を確認してみた

    以前の記事で、Blazor サーバーのアプリケーションは、システムリソースの消費量が気になる、といったことを書きました。 tsuna-can.hateblo.jp これがどういうことなのか、実際にサンプルのアプリケーションを通して、確認してみようと思います。 比較のため、ASP.NET Core 3.0 の MVC アプリケーションでも同様のアプリケーションを作成して、どのような差があるのか確認してみます。 サンプルアプリケーション 今回は動作の結果をわかりやすくするため、リクエストを受け付けたら 1 MBの領域を確保して、その確保したバイト数を画面表示するようなものにしておきます。 同じよう…

  • Azure DevOps の Deployment Group にプロキシ内のサーバーをエージェントとして登録する

    最近の開発ツールを触っていると、プロキシに阻まれることが結構あります。 Azure DevOps の場合も同様で、各種チュートリアルのほとんどが、プロキシの存在を無視して解説しています。 そしてすごく質問を受けます。 ということで、今回は Azure DevOps の Deployment Group のエージェントをプロキシ内に置く方法を書いておきます。 これでイントラ内のサーバーに、 Azure DevOps からアプリケーションをリリースできるようになります。 やり方 OSにプロキシサーバーの設定を追加する OSにプロキシサーバーの設定を行っておきます。 ネットワークオプションで設定すれ…

  • Blazorの概要

    ASP.NET Core 3.0もリリースされて、サーバーサイドレンダリング限定ですが、Blazorも使えるようになりました。 ようやく触り始めたので自分の勉強メモもかねて、残していきたいと思います。 Blazorって何? 公式サイトを見ると、 .NETを使って対話型のクライアント側Web UIを構築するためのフレームワーク と説明されています。 軽く触った感じだと、論理的なアプリケーション構造はASP.NET Web Formsと似ています。 画面をコンポーネントという単位にまとめて、それらを画面に張り付けていくスタイルです。 Web FormsでいうところのUserControlに近い感覚…

  • Azure PipelinesからAzure ArtifactsにNuGetパッケージを公開する

    やりたいこと 前回作成した NuGet パッケージを、 Azure Artifacts にアップロードして、プライベートな NuGet パッケージリポジトリを構築します。 NuGet パッケージのもとになるソースコード一式は、 Azure DevOps の Git リポジトリに配置します。 その後、ビルドパイプライン、リリースパイプラインを通して、 Azure Artifacts にアップロードできるようにしたいと思います。 やりたいこと 前提条件 Azure Artifacts のフィードを作成する ビルドパイプラインを構築する 作成したyamlファイルの全体像 trigger pool v…

  • 構成ファイルの書き換えを行うNuGetパッケージの作り方(XDT変換編)

    やりたいこと NuGetパッケージをプロジェクトに追加したとき、勝手に構成ファイルが書き換わるパッケージというのが存在するかと思います。 Entity Framework 6.2.0とかもそうで、構成ファイルに設定が入ってきます。 このように、構成ファイルを書き換えるNuGetパッケージの作り方をまとめたいと思います。 実はこのような構成ファイルの書き換えを行う方法は2つあるのですが、今回はかなり細かくいろいろ制御できるXDT変換という手法について解説します。 もっとお手軽なやり方としてXML変換というものもあります。 こちらについては以前の記事でまとめていますので、そちらをご覧ください。 t…

  • Visual StudioなしでAzure DevOpsのTFVCリポジトリにコマンドラインで接続する方法

    何をいまさら。。。 正直普通にやるならAzure DevOpsのBuild Agentに登録して、Azure Pipelinesのタスクでやるのが王道だと思います。 その方が圧倒的に簡単だし楽だし、悪いことはほぼないでしょう。 ですが、今回事情によってどうしてもそういう作戦が取れず、何とか無理やり実現したことをまとめておきます。 何をいまさら。。。 歴史を振り返る Team Explorer Everywhere 導入手順 Javaのインストール コマンドラインツールを配置してパスを通す Team Explorer Everywhereのライセンスに同意する Azure DevOpsのTFVC…

  • 構成ファイルの書き換えを行うNuGetパッケージの作り方(XML変換編)

    やりたいこと NuGetパッケージをプロジェクトに追加したとき、勝手に構成ファイルが書き換わるパッケージというのが存在するかと思います。 Entity Framework 6.2.0とかもそうで、構成ファイルに設定が入ってきます。 このように、構成ファイルを書き換えるNuGetパッケージの作り方をまとめたいと思います。 実はこのような構成ファイルの書き換えを行う方法は2つあるのですが、今回はもっとも簡単なXML変換という手法について解説します。 なお本稿ではNuGetパッケージの作り方を詳細には解説しません。 作り方が知りたい場合は以下の記事をまずご覧ください。 tsuna-can.hateb…

カテゴリー一覧
商用