2019/06/01

Could not find module “@angular-devkit/build-angular” エラー

Could not find module “@angular-devkit/build-angular”

npm start コマンドを実行しようとして、下記のエラー。

Could not find module “@angular-devkit/build-angular”

調べると、Angular 6.0 以降は、
@angular-devkit/build-angular が必要だとか。

インストールコマンド
npm install --save-dev @angular-devkit/build-angular

2019/05/03

Access GROUP BY で文字化けする

Access SQL で、
対象カラムのデータ型が「 長いテキスト(メモ型) 」の場合、
GROUP BY を使った集計で文字化けする。

データ型を「 短いテキスト 」に変更すれば解決するが、
データが既に登録されている場合は、フィールドサイズを超えたデータは切り捨てられてしまうので注意する。

Access パラメーターが少なすぎます

実在しないテーブル名やカラム名を指定した場合に出るエラー。
複数のテーブルを参照する場合に起こりやすい。

1を指定してください
2を指定してください
3を指定してください

等のメッセージが表示される。

2019/04/29

Access ステートメントの構文エラーです


ステートメントの構文エラーです

テーブルやカラム名に、予約語が入っていないだろうか?
SQL 文の中に、次のリンクにある単語が入っている場合、エラーが発生する。

Access の予約語と記号

え? これもダメなの?
という単語も入っているのでチェックしてほしい。

2019/04/07

C# string.Format の「入力文字列の形式が正しくありません」

波括弧
このエラーは引数の数が違う場合が多いですが、
指定した文字列(第一引数)に波括弧( { )が入っている場合、例外が発生し、このエラーメッセージが出ます。

波括弧を使いたい場合は、「 {{ 」と記号をつなげ、エスケープします。

2019/04/04

2019/03/30

ソリューション内の1つ以上のプロジェクトが正しく読み込まれていません。

ソリューション内の1つ以上のプロジェクトが正しく読み込まれていません。
詳細については、出力ウィンドウを確認してください。

このエラーの原因は、主にファイルのパスに関するものです。
  1. プロジェクトの構成(フォルダ名)をエクスプローラーから変更した
    → .sln をテキストエディタで開き、変更したものに修正する。
     
  2. フォルダの名前が長すぎる
    sln が置いてあるフォルダまでのパスが長すぎてもエラーになります。長いフォルダ名がないかチェックします。

2019/03/24

MDB 更新可能なクエリであることが必要です


MDB に書き込みができない場合のエラー。
IIS_IUSRS の権限は、フルコントロールが必要らしい。

2019/03/16

Validation failed for one or more entities

Entity Framework で データの更新を行う際に出たエラー。

これは、Model に設定してあった属性(アノテーション)のエラーです。
例えば、[MaxLength(50)] だとしたら、登録しようとしているデータが 50 文字をオーバーしているのかもしれません。

Model をチェックしてみましょう。

確定申告の返信用封筒は82円切手じゃ足りない

確定申告の書類を郵送するとき、切手を貼った返信用封筒を同封します。

82円切手一枚じゃ足りない

ネットで検索すると、「 82円切手貼れば OK 」みたいなこと書いている人がいますが、足りません。

そもそも確定申告の書類の重さは人によって違います。
私の場合は決算書も必要なので、その分重くなっていたのでしょうね。
でも、82円では足りない気がしますね。

2019/03/09

Gmail の POP が設定できない場合、アプリ設定を変更する

メーラーから POP を使って Gmail にアクセスする場合、以下の設定が必要になります。
  1. Gmail の設定で「POPを有効」にする。
  2. アプリの設定で安全性の低いアプリのアクセスを「オン」にする。

POPを有効にする

  1. Gmailをブラウザで開き、歯車のマークから「設定」をクリックします。
  2. メール転送と POP/IMAPを開きます。
  3. POP ダウンロードで「すべてのメールで POP を有効にする」に設定する。

安全性の低いアプリのアクセスを「オン」にする

  1. Google のアカウントページを開く。
    Googleのトップページの右上にあるアカウント名をクリックすると、
    「Googleアカウント」ボタンがあるのでクリックする。
  2. セキュリティをクリックする。

  3. 安全性の低いアプリのアクセスの「アクセスを有効にする」をクリック。
  4. 安全性の低いアプリの許可 トグルボタン をクリックして有効にする。

C#からPOPアクセスする場合に接続できなくて少しはまった。

2019/02/20

ASP.NET MVC localhostで接続が拒否されました

IIS Express を使用して ASP.NET MVC のサイトをデバッグする際に、以下のようなエラーが出る事がある。

このサイトにアクセスできません
localhostで接続が拒否されました

調べると、ポートを変える方法が推奨されているケースがあります。
これはソリューションのプロパティ - Web にある プロジェクトの URL のポートを変更する方法です。

ポートを変えてもダメだったので、他の方法として推奨されている、
ソリューションフォルダ以下にある「 .vs 」フォルダを消してからデバッグしてみる方法を試してみました。

すると、デバッグできるようになりました。

このあたりの挙動は原因がよくわからず、気持ちが悪いですね。

2019/02/06

jQuery で moz-transform-origin 0 0 をセットする

どうやってセットするんだろうと思いましたが、こんな感じです。
// 左上に合わせたい
$("#Hoge").css({
     '-moz-transform-origin': 'left top 0'
});

2019/02/05

イベント発火って何?

いつからか
JavaScriptの処理を呼び出す事を「発火」って書いている人を見かけるようになりました。

私は「発火」なんて言われた事は無いし、現場でも聞いた事がないのですが…JavaScriptをゴリゴリ書いている人の世界では普通なんでしょうか?

かなり違和感。

2019/02/03

Windows VPS の ConoHa を契約した

ConoHa コントロールパネル

以前、私は「さくらのVPS for Windows Server」を利用していたのですが、不要になったため解約していました。

最近、再び Windows VPS が必要になったため、今回は GMO の Windows VPS サービス『ConoHa』を契約しました。



2019/02/02

EF マイグレーション時にエラーが出て、DBの構造を更新できない

The target context 'コンテキスト名' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory.

特にカスタマイズしていなければ、DbContext を継承した Context クラスには、引数無しコンストラクターの base クラスで接続文字列をセットしているはずです。
public HogeContext() : base("Con")
{
}
こんな感じ。

私は引数有りのコンストラクターで、接続文字列を場合分けしており、引数無しのコンストラクターは用意していませんでした。
public HogeContext(string KEY) : base("Con")
{
 // 接続文字列を工夫して変更させている
 var con = Database.Connection.ConnectionString;
 Database.Connection.ConnectionString = string.Format(con, KEY);
}
これだと、マイグレーション時に冒頭のエラーが出ます。

Context 周りにもう少し柔軟性が欲しかったね。

2019/02/01

URLがプロパティ内にありません(Google Search Console)

Google Search Console
みんな大好き Fetch as Google
新しい Google Search Console では、 URL検査 → URL入力 という手順で行います。

その際、
URL がプロパティ内にありません
というエラーが出て、少しハマりました。

よく見てみると、開いているプロパティが違っていました。
「 http 」で登録されているプロパティに、
「 https 」で始まるアドレスを貼り付けていたのです。
そりゃダメだよ。

Google Search Console は http, https を厳格に区別しています。
正しいプロパティで Fetch as Google を行いましょう。

PowerShell 実行パスが取得できない

PowerShell 実行パスが取得できない
スクリプトファイルを実行しているパスを取得したい場合、
Split-Path $script:myInvocation.MyCommand.path -parent

で実行ファイルを省いたパスが取得できます。

しかし、PowerShell のコンソールでは上記コマンドは使えません。
こんなエラーが出ます。

引数が null であるため、パラメーター 'Path' にバインドできません。

考えてみれば当然ですね。
「 スクリプトファイル 」を実行しているパスを取得するのですから(笑)。

バッチから PowerShell を実行させようとして、この現象でハマりました。

2019/01/30

Win7 では、Hyper-Vの拡張セッションは使えない

仮想マシンに対しても コピー&ペースト ができる拡張セッションモード。

これはとても便利なのですが、Windows 8 から使える機能だそうです。
Windows 7 では使えない 仕様 です。

2019/01/29

[ PowerShell ] zipファイルを解凍。既にあったら上書きする。

Expand-Archive -Path c:\Temp\Test.zip -DestinationPath c:\SysData\ -Force
「 -Force 」オプションを付けると、同名のファイルは上書きされる。
オプションを付けず同名のファイルがあった場合はエラーになるので気をつけよう。

[ PowerShell ] IISの物理パスを取得する

# 通常は「 C:\inetpub 」
Get-WebFilePath -PSPath "IIS:\Sites\Default Web Site"

# 通常は「 C:\inetpub\wwwroot 」
(Get-WebFilePath -PSPath "IIS:\Sites\Default Web Site").FullName
設定を変更しなければ、IISのデフォルトウェブサイトの物理パスは「 C:\inetpub\wwwroot 」のはず。
ただ、念のため環境毎にきちんと取得したいよね、という場合に使う。

2019/01/20

C# Access Insert 直後にオートナンバーの値を取得する

Insert後にオートナンバーのKEYを取得したい場合があります。
SQL文 "Select @@Identity" を実行し、取得します。

string query = "Insert Into User (name) Values ('山田一郎')";
string query_getkey = "Select @@Identity";

var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Test.mdb";
using (OleDbConnection connection = new OleDbConnection(connectionString))
using (OleDbCommand cmd = new OleDbCommand(query, connection))
{
  connection.Open();
  cmd.ExecuteNonQuery();
  cmd.CommandText = query_getkey;
  var ID = (int)cmd.ExecuteScalar();
}

2019/01/19

ASP.NET MVC でチェックボックスを作り、値を取得する

ASP.NET MVC の HTML ヘルパーのひとつ、CheckBoxFor は全く役に立ちません。これだけで ASP.NET なんて使い物にならないと思う方も多いですよね。

チェックボックスを作る最も簡単な方法はこうなります。

注意しなければならないのは、
使用する Model の 変数の型(以下のサンプルで言うところの Kiyaku)は bool にしておくことです。

@Html.EditorFor(m => m.Kiyaku)

bool にしているので、チェック ON で true が格納されます。

CheckBoxFor 意味ない。

C# ASP.NET MVC で bool を検証する

ASP.NET MVC のデータアノテーション(バリデーションチェック)において、bool ってどうやって判定するんだ?
と、迷ったのでメモ。
[Display(Name = "利用規約")]
[Range(typeof(bool), "true", "true", ErrorMessage = "{0}にチェックしてね!")]
public bool Kiyaku { get; set; }

2019/01/18

MVC の @Url.Action で # を使い、遷移先の ID に移動する

こんな感じ。
こんな書き方があるのですね。

<a href="@Url.Action("Index", "Home")#Hoge">トップページに戻る</a>

2019/01/14

「 間違ったフォーマットのプログラムを読み込もうとしました 」の解決方法

BadImageFormatException

ファイルまたはアセンブリ ' アセンブリ名 '、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。

もはや意味がわからないw

プラットホームターゲットの変更


プラットホームターゲットの変更

エラーメッセージで検索をすると、プラットホームターゲットが 32bit と 64bit で違うから AnyCPU に変更してビルドしよう!
という回答が散見されます。

早速 試してみましたが…私の場合はこの方法では解決できませんでした。

アプリケーションプールの詳細設定を変更

次に試したのは、IIS のアプリケーションプールにある詳細設定から、下記の 2 点を変更する方法。

IIS のアプリケーションプールの詳細設定


  • 32 ビットアプリケーションの有効化 を True に変更
  • ユーザープロファイルの読み込み を True に変更

これで見事エラーが解消され、サイトが稼働するようになりました。

アプリケーション内に、32bit のライブラリが含まれている場合、アプリケーションプールの設定で 32bit アプリケーションを有効化しないとダメですね。
サードパーティー製のライブラリを使用する場合は、きちんと把握しておきましょう。

2019/01/12

Bootstrap のモーダルを Esc で閉じなくする

属性値 data-keyboard="false" を追加する。

<div class="modal fade" id="sampleModal" data-keyboard="false" tabindex="-1">

</div>

2019/01/09

EPSON Scan が 応答なし になる(Windows10)

EPSON Scan でスキャンする際に、ページ追加の確認が「 応答なし 」になり、それ以上スキャンができなくなる現象が発生しました。

以前はスキャンできていたにもかかわらず、です。
Windows のアップデートでこのような不具合が出ているのか、以下のドライバーを入れることで直りました。

https://www.epson.jp/dl_soft/readme/26076.htm

(このドライバーも意味不明な場所にファイルを解凍しようとしたので、解凍ソフトから任意の場所に手動でファイルを解凍しました)
Related Posts Plugin for WordPress, Blogger...