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 など) に含める必要があるいくつかのファイルを含むフォルダーがあります。ProjectB
ProjectA
ProjectB
FolderB
ProjectA
ビルドProjectA
すると、ディレクトリ内にすべての参照ファイルとフォルダーが作成されますbin
。ただし、ClickOnce ツールを使用してソリューションを公開すると、参照先のフォルダーはインストーラーに含まれず、プロジェクトの公開設定のウィンドウに表示されProjectB
ません。Application Files
これに対する解決策は、呼び出される新しいフォルダーを作成し、[FolderB
リンクとして追加] オプションを使用してProjectA
、既存のアイテム フォームFolderB
をProjectB
この新しいフォルダーに追加することです。その後、フォルダーにリンクされたファイルを含むすべてのファイルがパブリッシュに含まれます。ProjectA
ProjectB
OPから長い時間が経ちましたが、ソリューションにフォルダーを追加すると、そのフォルダーにCrystal Reportを追加し、それを「コンテンツ」としてマークしてから(Tomごとに)公開してインストールします-フォルダーとレポートが追加されますClickOnce のインストール場所。だからトムの解決策は私のために働いた.