Visual Studio 2017(バージョン15.7.27703.2035)を使用してローカル環境で実行すると正常に動作するASP.NET Framework4.6.1のアプリケーションがあります。
サーバー側では、同じアプリケーションがHTTP ERROR404を表示しています。
ASP.NETアプリケーションを公開するには、Visual Studioの公開ツールを使用して、すべてをAzureのAppServiceに展開します。
VisualStudio公開ツールとプロジェクトアーキテクチャ
Web配置の代わりにFTP配置を使用しようとしましたが、成功しませんでした。FileZillaを使って手動で試しても成功しませんでした。
カスタムライブラリを使用してプロジェクトを公開するときに、何らかのアクションが必要になる可能性はありますか?
編集
私が知っていること:
サーバー側のdll実際にはサーバー側のwwwrootフォルダーにアクセスできます。つまり、js、css、画像などにアクセスできます。しかし、コントローラー、ビュー、その他のフォルダーはサーバーに存在しないようです。
図書館issus?この問題は、プロジェクトをカスタムライブラリCrmDatabaseManager、SysaidDatabaseManager、およびUserInterfaceLibraryで細分化したときに発生しました。
サーバー側のwwwroot内のwwwrootwwwrootフォルダーには、サーバー上の別のwwwrootフォルダーが含まれます。最初のwwwrootフォルダーにはすべてのdllが含まれ、その中にcss、js、画像などを含む別のwwwrootフォルダーがありますが、コントローラーやビューの兆候はありません。
プロジェクトの作成方法.NETFrameworkに基づくASP.NETCore 2.0を使用して、この方法でプロジェクトGPRHを作成しました。
プロジェクトをライブラリで分割すると、パス参照が壊れたことがわかりました。
パスをハードコーディングしていましたが、メインプロジェクトに問題はありませんでした。プロジェクトをライブラリで分割すると、エラー404が発生しました。
ライブラリ内のファイルにアクセスするには、最初に次の操作を行う必要があります。
次に、ライブラリでこの方法でパスを指定します。
var buildDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var filePath = buildDir + @"\fileName.json";
using (StreamReader r = new StreamReader(filePath))
{
// code here
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加