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

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

ただいまの
回答率

90.51%

  • ASP.NET

    625questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • MVC

    257questions

    MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

  • ASP.NET MVC Framework

    101questions

    ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Route設定でエラーが取れない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 352

LaboHiroShin

score 1

前提・実現したいこと

プロジェクト実行時、最初に開かれるページをHome→MTauTaus(Viewsフォルダ直下の名前)に変更したい。

自分なりに色々試したのですがどうしてもよくわからず・・・。どうかご教示お願い致します。

発生している問題・エラーメッセージ

'/' アプリケーションでサーバー エラーが発生しました。
!FGs0q!The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/MTauTaus/Index.aspx
~/Views/MTauTaus/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/MTauTaus/Index.cshtml
~/Views/MTauTaus/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml 表©鷗字㌍ 表©鷗字㌍ 表©鷗!
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.InvalidOperationException: !FGs0q!The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/MTauTaus/Index.aspx
~/Views/MTauTaus/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/MTauTaus/Index.cshtml
~/Views/MTauTaus/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml 表©鷗字㌍ 表©鷗字㌍ 表©鷗!

ソース エラー: 

現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。

該当のソースコード

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "MTauTaus", action = "Index", id = UrlParameter.Optional }
            );
        }

試したこと

・ブレークを張ってroutesを見たところcount = "2" となりステップオーバーとなっていました。しかし別のプロジェクトで確認しても同様にステップオーバーしており、そちらではそのままページが表示されています。おっかけ方がわからずどこでステップオーバーしてるかがわかりませんでした・・・。

・プロジェクトプロパティの設定
イメージ説明
ファイルプロパティの「スタートページに設定」はすべて外れているのを確認しました。
同様にビルドアクションは全て「コンテンツ」となっているのも確認しました。

・プロジェクトをビルドして最初に繋がれるURLが「 http://localhost:52235/MTauTaus/Index 」となっていたので
「 http://localhost:52235/Views/MTauTaus/Index 」と追記してみたところ、

'/' アプリケーションでサーバー エラーが発生しました。
リソースが見つかりませんでした。
説明: HTTP 404. 探しているリソース (または、その依存関係の 1 つ) が削除されたか、名前が変更されたか、また一時的に使用できません。以下の URL のスペルが正しいことを確認してください。 

要求された URL: /Views/MTauTaus/Index


このエラーに変わりました。

・Homeに戻してプロジェクトをビルドしても同じエラーが出るようになり、現在どのページも開けない状態です。

補足情報(FW/ツールのバージョンなど)

Visual Studio2017 Community

2018/12/26  SurferOnWww 様
肝心なもの貼り忘れてました、すいません。こちらで大丈夫でしょうか?
![イメージ説明

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • SurferOnWww

    2018/12/26 07:00

    当該コントローラーとビューはどこにあるのですか? それを示すソリューションエクスプローラの画像を貼れませんか?

    キャンセル

  • SurferOnWww

    2018/12/26 07:45

    画像を拝見しました。エラーメッセージは無いと言ってますが、ちゃんと index.cshtml は存在しているようですね。後で自分の環境で実際に検証してみます(今はその環境がないので)。

    キャンセル

  • LaboHiroShin

    2018/12/26 07:51

    お手数おかけしますがよろしくお願いします。
    僕はもう一つプロジェクトを作って同じ環境を作ろうと思います。それで正常に表示されるようならwinmerge等で原因を探してみます。

    キャンセル

  • SurferOnWww

    2018/12/26 08:21

    エラーメッセージが文字化けしてますね。日本語のサテライトアセンブリに不具合があってそのような形の文字化けが発生するという事例の報告があります。文字化けの問題だけでルーティングには影響無いのかもしれませんが、別プロジェクトを作る際は最新版を試すなどしてみるといいかもしれません。

    キャンセル

回答 1

checkベストアンサー

+1

確認ですが、

プロジェクト実行時、最初に開かれるページをHome→MTauTaus(Viewsフォルダ直下の名前)に変更したい。

と書いてありますが、RegisterRoutes のコードを見るとそうではなくて、http://localhost:xxxxxx/ という URL でブラウザから要求を受けたら、http://localhost:xxxxxx/MTauTaus/Index にルーティングされるようにしたいという話ですよね。

その理解で、Visual Studio Community 2015 でですが、質問者さんの構成と同じフォルダ構成で、

イメージ説明

同じ動作開始オプション設定で、

イメージ説明

試してみましたが、問題は一切発生せず、期待通りの結果になりました。

イメージ説明

質問者さんの環境固有の問題がありそうな気がします。とするとこちらでは何が問題か分かりません。上のコメントで書きましたアセンブリの問題とか?

一応、ご参考に、試したコードもアップしておきます。

コントローラー (Controllers/MTauTausController.cs)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Mvc5App.Controllers
{
    public class MTauTausController : Controller
    {
        // GET: MTauTaus
        public ActionResult Index()
        {
            return View();
        }
    }
}

ビュー (Views/MTauTas/Index.cshtml)

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>MTauTaus Index</h2>

RouteConfig.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace Mvc5App
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                //defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                defaults: new { controller = "MTauTaus", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/12/26 23:02

    すいません仕事でだいぶ遅くなってしまいました。

    もう一つのプロジェクトにて動作確認をしたところ、特に問題なくページを表示することができました。
    色々差を見てみたんですが正直自分の変更箇所では特にルーティングに関わりそうなものを発見できず、真実は闇の中となってしまいました・・・。

    朝早くから協力していただきありがとうございました、次はgitを使うなどしてもう少し細かい要因や予測をあげられるよう工夫します。

    キャンセル

同じタグがついた質問を見る

  • ASP.NET

    625questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • MVC

    257questions

    MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

  • ASP.NET MVC Framework

    101questions

    ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。