簡體   English   中英

在ClickOnce應用程序中包含一個文件夾

[英]Include a Folder in ClickOnce Application

我已經創建了一個Windows C#項目,並將其作為安裝的ClickOnce應用程序(在項目屬性中發布功能)。 我想要包含一個包含 Crystal Report(rpt)文件的文件 在我的應用程序中,我已將rpt文件的路徑作為我的安裝位置。 如何在發布時包含此文件夾。 這樣我就不需要手動復制文件夾了。

湯姆已經解釋了如何添加文件。 您明確表示要在發布后向ClickOnce應用程序添加文件夾。 讓我們假設您的解決方案的根目錄中有一個名為Dependencies的文件夾,其中包含一個文件夾Reports ,其中包含所有RPT文件。 以下是如何確保已部署的應用程序包含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文件夾添加到項目中的所有內容。 我們在Include和%(RecursiveDir)的末尾使用\\**\\*語法,以確保Reports文件夾將出現在已發布的版本以及報告文件中。 設置<Visible>false</Visible>您將看不到混亂解決方案資源管理器的項目。

您必須將項目添加到項目並將其標記為“內容”(在解決方案資源管理器中選擇項目,右鍵單擊,屬性,設置構建操作)。

假設我們有兩個項目:main - ProjectA和其他一些引用ProjectA ProjectB ProjectB我們有一個文件夾FolderB ,其中包含一些應包含在ProjectA publish(pdf,rpt等)中的文件。

一旦我們構建了ProjectAbin目錄中就會有所有引用的文件和文件夾。 但是,當我們使用ClickOnce工具發布解決方案時,引用的ProjectB文件夾將不會包含在安裝程序中,您將無法在項目發布設置的“ Application Files窗口中看到它們。

解決方案是在ProjectA創建一個名為FolderB的新文件夾,並使用“ 添加為鏈接”選項將ProjectB FolderB現有項目添加到ProjectA此新文件夾。 然后,所有文件(包括鏈接到ProjectB文件夾的文件)都將包含在發布中。

OP已經很長時間了,但是當我向我的解決方案添加一個文件夾時,將Crystal Report添加到該文件夾​​並將其標記為“Content”(每個Tom),然后發布並安裝 - 文件夾和報告將添加到ClickOnce安裝位置。 湯姆的解決方案對我有用。

巴里擁有最好的解決方案,真正解決了我所需要的一切! 無需在多個項目中包含相同的文件,只需設置預構建事件即可在調試中復制文件以進行本地功能和調試。 使用rdlc(報告)在一個位置並在多個項目中使用它來解決我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM