Windows C# プロジェクトを作成し、インストール用にClickOnceアプリケーション (プロジェクト プロパティの発行機能) として作成しました。Crystal Report (rpt) ファイルを含むフォルダを含めたいです。私のアプリケーションでは、インストール場所として rpt ファイルのパスを指定しました。公開中にこのフォルダーを含めるにはどうすればよいですか。そのため、フォルダーを手動でコピーする必要はありません。
5 に答える
それでトムはファイルを追加する方法を説明しました。公開したら、ClickOnce アプリケーションにフォルダーを追加したいと具体的に述べています。という名前のソリューションのルートに、すべての RPT ファイルを含むDependenciesフォルダーを含むフォルダーがあるとします。展開したアプリにフォルダーReportsのすべてのコンテンツが含まれていることを確認する方法は次のとおりです。Dependencies
Visual Studio でプロジェクトを右クリックし、[プロジェクトのアンロード] を選択します。
右クリックして選択し、csproj ファイルを編集します。
終了
</Project>タグの前にこれを追加します:<ItemGroup>
<Content Include="$(SolutionDir)Dependencies\**\*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>これにより、Dependencies フォルダーのすべてがプロジェクトに追加されます。
\**\*インクルードの最後に構文を使用し、公開されたバージョンとレポート ファイルにフォルダーが存在すること%(RecursiveDir)を確認します。Reports設定<Visible>false</Visible>すると、アイテムがソリューション エクスプローラーを乱雑にすることはありません。
項目をプロジェクトに追加し、それらを「コンテンツ」としてマークする必要があります (ソリューション エクスプローラーで項目を選択し、右クリックしてプロパティを選択し、ビルド アクションを設定します)。
main -と を参照するProjectA他のプロジェクトの 2 つのプロジェクトがあるとします。には、 のパブリッシュ (pdf、rpt など) に含める必要があるいくつかのファイルを含むフォルダーがあります。ProjectBProjectAProjectBFolderBProjectA
ビルドProjectAすると、ディレクトリ内にすべての参照ファイルとフォルダーが作成されますbin。ただし、ClickOnce ツールを使用してソリューションを公開すると、参照先のフォルダーはインストーラーに含まれず、プロジェクトの公開設定のウィンドウに表示されProjectBません。Application Files
これに対する解決策は、呼び出される新しいフォルダーを作成し、[FolderBリンクとして追加] オプションを使用してProjectA、既存のアイテム フォームFolderBをProjectBこの新しいフォルダーに追加することです。その後、フォルダーにリンクされたファイルを含むすべてのファイルがパブリッシュに含まれます。ProjectAProjectB
OPから長い時間が経ちましたが、ソリューションにフォルダーを追加すると、そのフォルダーにCrystal Reportを追加し、それを「コンテンツ」としてマークしてから(Tomごとに)公開してインストールします-フォルダーとレポートが追加されますClickOnce のインストール場所。だからトムの解決策は私のために働いた.