teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

Q&A

1回答

5535閲覧

IISで 404が解決できません。

Ognac

総合スコア0

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

0グッド

0クリップ

投稿2022/10/07 06:30

0

0

.Net.Core-x の Webアプリを IISて公開すると「HTTP エラー 404.0 - Not Found」 がでます。

このアプリは、レンタルサーバー上のFramework4.8 で普通に動作していました。

この度 、.Net.Core6化して、 IISマネージャーで、 Framework4.8と同様の過程で公開したところ、標記の「HTTP エラー 404.0 - Not Found」で出ます。

.NET.Coreをダウンして、  Core3 まで、落としても同じでした。

外部サーバーを止して。ローカル開発機で、 サンプルテンプレートを動かしたところ、

http://localhost:16612/ でも、http://localhost:16612/home/index でも同じ、デモ画面がでます。

このフォルダーを IISのアプリケーション追加をすると。 「iiscore」という名前の仮想ディレクトリ名

http://127.0.0.1/iicore/home/index
http://127.0.0.1/iicore/
http://localhost:16612/home/index
http://localhost:16612/
いずれも同じてした。

WebApiのサンプルでも同じでした。

wwwroot直下に test.html を配置すると、正常に動作します。

ルーティングの問題かとも思いましたが、 開発環境では動作しているので、問題はなさそうです。

FW4.8 から .NET.Core に変わったことによる、ルーティングの差異か、設定項目の変更があったのか、皆目不明の状態です。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/10/07 07:32 編集

.NET Framework と同じやり方では動きませんよ。ASP.NET Core アプリのデプロイのやり方ちゃんと調べてやってますか? 答えが No ならまずそのあたりを勉強してから質問してください。
Ognac

2022/10/07 08:19

早速のご教唆、ありがとうございます。 答えは、NOです。 デプロイ関係の意識が、全くなく、IISの仮想ティレクトリの設定だけで、できるものだと、思っていました。 今、環境がないので、研究して、試行します。
退会済みユーザー

退会済みユーザー

2022/10/07 08:32

ここのような文章でやり取りする Q&A サイトで、一から十まで手取り足取り教えてもらって解決するのは無理がありますよ。一度読んでください⇒ https://teratail.com/help/question-tips
退会済みユーザー

退会済みユーザー

2022/10/08 22:37

質問者さん、無言ですが、回答したのでそれに対するフィードバックを返してください。役に立った/立たなかったぐらいはすぐに返せるのでは? 役に立たなかったならどこがダメかを書くとより期待に近い回答が出てくるかも。とにかく無言は NG です。
guest

回答1

0

.NET Framework 版の ASP.NET アプリのデプロイと同じやり方では ASP.NET Core アプリは動きません。

まず、ASP.NET Core アプリを IIS でホストする場合のホスティングモデルはどういうものかの知識を得てください。以下の記事が参考になると思います。(.NET 6.0 の記事には詳しい説明がないので .NET Core 3.1 の記事を紹介します)

IIS を使用した Windows での ASP.NET Core のホスト
https://learn.microsoft.com/ja-jp/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1

上の記事に詳しく書いてある通り「インプロセス ホスティング モデル」と「アウト プロセス ホスティング モデル」があって、推奨されるのは「インプロセス ホスティング モデル」です。

IIS にデプロイする方法は以下の記事を見てください。

IIS に ASP.NET Core アプリを発行する
https://learn.microsoft.com/ja-jp/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-6.0&tabs=visual-studio

その記事の「.NET Core ホスティング バンドルのインストール」のセクションに書いてあるように、事前に .NET Core ランタイム、.NET Core ライブラリ、ASP.NET Core モジュールを Windows Server にインストールする必要があります。

「ASP.NET Core モジュール」と言うのは、上に紹介した「IIS を使用した Windows での ASP.NET Core のホスト」の記事の図の ASP.NET Core Module です。

ローカル開発機で、 サンプルテンプレートを動かしたところ

開発機で Visual Studio のテンプレートを使って ASP.NET Core アプリのプロジェクトを作成し、それを Visual Studio から実行したときの話ですよね。

であれば、Visual Studio の設定によって IIS Express を使用するインプロセスホスティングモデル(デフォルト)、または Kestrel をエッジサーバーとして使うようになります。詳しくは以下の記事を見てください。

開発環境で Kestrel 利用 (CORE)
http://surferonwww.info/BlogEngine/post/2020/09/25/use-kestrel-web-server-in-development-environment.aspx

Visual Studio を使えば、ホスティング関係は Visual Studio が面倒を見てくれますが、IIS にデプロイする場合は自分でやらなければならないことが多々あるということです。

投稿2022/10/08 01:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問