2


0

「プロパティ」という名前のルートが必要ですが、404エラーが表示されます(ディスクにフォルダが存在することを検出します)

簡単に説明しますが、「プロパティ」の名前とURLを使用してカスタムルートを作成しようとすると、ASP.NET MVCアプリがルートを見つけたときに見つからない404ファイルを返します。

これは、_Properties_と呼ばれるディスク上にフォルダーがあり、これはもちろん自動的に作成される一般的なasp.netフォルダーであることが原因であると考えられます。 SOでのこの問題、しかし解決策がなかったように見えますが、ルートに別の名前を付けるだけです!

確かにこれは見落としです、または回避策が必要ですか? 明らかに、ルートやフォルダとして必要な多くの一般的なディレクトリがありますが、それらのいくつかはおそらく_プロパティ_が削除できないことを知っています! また、実際のフォルダもURLとして尊重する必要があることは理解していますが、ディスク上のフォルダを見る前にルーティングを優先すべきだと思います。

誰かがこれを達成する方法について何かアイデアを持っているなら、それは大歓迎です。 :)

2 Answer


1


NET参照ソースコードを見ると、 Properties`がASP.NETランタイムに特別であるようには見えません( HttpRuntime.cs`には bin、` App_Code`などの文字列定数があります)。

物理的な「プロパティ」フォルダの名前を「App_Properties」などに変更し、そこにあるファイルの名前空間を編集して一致させてみてください。 VSはこの「特別な」フォルダーの名前変更コマンドを非表示にするため、 .csproj /` .vbproj`ファイルも編集する必要があります。

これを行うと、デフォルトの設定やリソースの作成など、プロジェクトのプロパティタブでビルトイン動作の一部を使用すると、 Properties`フォルダーが再作成されるため、 .settings`を開いて`.resx`ファイルを直接編集します。


1


asp.net mvcプロジェクトのプロパティフォルダーを削除すると、説明どおりに機能します。

説明している動作は、IISで実行しているときは表示されないことに注意する必要があります(これが実際にソリューションであることではありません)。

IISExpressは、リリースされたときに役立つはずです!

ワイルドカードマッピングを設定する場合は特に、ルートエンジンがファイルシステムオブジェクトよりも優先されると考えたため、これをさらに試してみたいと思います。