Asp.Net Web アプリケーションというソリューションがあり、ソリューション内には 2 つのプロジェクトがあります。1 つには、UI を処理する VB コードが含まれています。フォームなどと、基本的に Linq-to-Entity を使用してデータを処理するもう 1 つの C# です。ローカル コンピューターからプロジェクトを実行すると、問題なく動作します。ここで公開するには、UI プロジェクトが選択されている場合にのみ、公開オプションが有効になっていることに気付きました。何故ですか?これを公開すると、他のプロジェクトは公開されませんか? 別の質問ですが、フォルダに作成された XML ファイルがありapp_data
ます。公開すると、アクセスできますか?
3 に答える
発行は Web プロジェクトにのみ適用されます。Web プロジェクトに他のプロジェクトへの参照を含めた場合、それがコンパイルされ、DLL が Web プロジェクトと共に公開されます。XML ファイルのプロパティを確認せず、プロジェクトと共に公開するように設定されている (ビルド アクションがContent
およびCopy Always
またはCopy if newer
が選択されている) 場合は、XML ファイルを Web プロジェクトと共に公開する必要があります。
ソリューション内に2つのプロジェクトがあります。1つはWebプロジェクトで、次はクラスライブラリプロジェクトです。Entity Framework、LINQクエリ、データベーストランザクションなどに関連するすべてのコードは、クラスライブラリプロジェクトに含まれている必要があります。クラスライブラリの構築中に、DLLファイルが自動的に生成されます。次に、Webプロジェクトファイルへの参照を追加するだけです。次に、クラスライブラリからすべてのクラス、メソッドなどを取得します。クラスライブラリプロジェクトを公開する必要はありません。Webプロジェクトにdll参照を追加したためです。App_Codeフォルダー内のすべてのコードファイルは、Webプロジェクトの公開中にdllに変換する必要があります。したがって、App_codeフォルダーデータ内のファイルについて心配する必要はありません。
ありがとうございました
参照プロジェクトを個別に公開したり、ソリューション全体を公開したりする必要はありません。他のプロジェクトの dll を参照するだけで機能します。
- まだコンパイルされていない場合は、両方のプロジェクトをコンパイルする必要があります
- UI プロジェクトがデータ層プロジェクトからの dll への参照を持っている場合、それは UI プロジェクトと共に公開されます。
- 別のフォルダーでローカルに公開し、iis Express またはローカルの iis を使用してテストしてから、データベースを使用してオンラインで公開できます。接続文字列を更新すると、セットアップが正しければ機能するはずです。