14

Windows C# プロジェクトを作成し、インストール用にClickOnceアプリケーション (プロジェクト プロパティの発行機能) として作成しました。Crystal Report (rpt) ファイルを含むフォルダを含めたいです。私のアプリケーションでは、インストール場所として rpt ファイルのパスを指定しました。公開中にこのフォルダーを含めるにはどうすればよいですか。そのため、フォルダーを手動でコピーする必要はありません。

4

5 に答える 5

27

それでトムはファイルを追加する方法を説明しました。公開したら、ClickOnce アプリケーションにフォルダーを追加したいと具体的に述べています。という名前のソリューションのルートに、すべての RPT ファイルを含むDependenciesフォルダーを含むフォルダーがあるとします。展開したアプリにフォルダーReportsのすべてのコンテンツが含まれていることを確認する方法は次のとおりです。Dependencies

  1. Visual Studio でプロジェクトを右クリックし、[プロジェクトのアンロード] を選択します。

  2. 右クリックして選択し、csproj ファイルを編集します。

  3. 終了</Project>タグの前にこれを追加します:

    <ItemGroup>
    <Content Include="$(SolutionDir)Dependencies\**\*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <Visible>false</Visible>
    </Content>
    </ItemGroup>

  4. これにより、Dependencies フォルダーのすべてがプロジェクトに追加されます。\**\*インクルードの最後に構文を使用し、公開されたバージョンとレポート ファイルにフォルダーが存在すること%(RecursiveDir)を確認します。Reports設定<Visible>false</Visible>すると、アイテムがソリューション エクスプローラーを乱雑にすることはありません。

于 2014-06-18T14:25:36.290 に答える
23

項目をプロジェクトに追加し、それらを「コンテンツ」としてマークする必要があります (ソリューション エクスプローラーで項目を選択し、右クリックしてプロパティを選択し、ビルド アクションを設定します)。

于 2012-12-01T19:28:23.250 に答える
1

main -と を参照するProjectA他のプロジェクトの 2 つのプロジェクトがあるとします。には、 のパブリッシュ (pdf、rpt など) に含める必要があるいくつかのファイルを含むフォルダーがあります。ProjectBProjectAProjectBFolderBProjectA

ビルドProjectAすると、ディレクトリ内にすべての参照ファイルとフォルダーが作成されますbin。ただし、ClickOnce ツールを使用してソリューションを公開すると、参照先のフォルダーはインストーラーに含まれず、プロジェクトの公開設定のウィンドウに表示されProjectBません。Application Files

これに対する解決策は、呼び出される新しいフォルダーを作成し、[FolderBリンクとして追加] オプションを使用してProjectA、既存のアイテム フォームFolderBProjectBこの新しいフォルダーに追加することです。その後、フォルダーにリンクされたファイルを含むすべてのファイルがパブリッシュに含まれます。ProjectAProjectB

于 2016-09-26T13:18:59.637 に答える
0

OPから長い時間が経ちましたが、ソリューションにフォルダーを追加すると、そのフォルダーにCrystal Reportを追加し、それを「コンテンツ」としてマークしてから(Tomごとに)公開してインストールします-フォルダーとレポートが追加されますClickOnce のインストール場所。だからトムの解決策は私のために働いた.

于 2015-04-12T21:04:03.057 に答える