簡體   English   中英

如何將單聲道復制數據文件制作成子目錄,就像Visual Studio一樣

[英]How to make mono copy data files into subdirectory the same way visual studio does

我有一個引用共享項目的C#項目。 共享項目包括我想要在文件夾中復制的大量數據,例如

Data/file1.txt

使用visual studio構建時,所有文件都會移動到帶有子文件夾的輸出目錄,例如

bin/Release/Data/file1.txt

但在單聲道上,它會忽略子目錄,例如

bin/Release/file1.txt

如何在構建期間強制mono維護相同的目錄結構?

作為更新,在構建期間我也看到以下內容:

Target _CopyDeployFilesToOutputDirectoryPreserveNewest:
    Copying file from 'Data/file1.txt' to 'bin/Release/file1.txt'

更新:這似乎是Xamarian Studio 5.9.4中的一個錯誤。 標記為“復制到輸出目錄”的項目的共享項目將不會尊重它們在項目中的目錄結構...

假設:

  • MonoDevelop / Xamarian Studio 5.9.x +
  • Project被標記為在Project Options / Build / General面板中使用MSBuild
  • Project是.shproj(bug,其他項目類型都可以)

將文件屬性設置為:

  • 復制到輸出目錄

在此輸入圖像描述

建立你應該有:

.
├── AGenericFile.txt
├── Data
│   ├── Data2
│   │   └── file2.txt
│   ├── SharedData.txt
│   └── file1.txt
├── Data2
│   └── file3.txt
├── foodata.exe
└── foodata.exe.mdb

如果您仍然遇到問題,請查看您的項目xml並確保您擁有

<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

在每個數據文件上設置。

項目/工具/編輯文件:

~~~
  <ItemGroup>
    <Folder Include="Data\" />
    <Folder Include="Data\Data2\" />
    <Folder Include="Data2\" />
  </ItemGroup>
  <ItemGroup>
    <None Include="AGenericFile.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="Data\file1.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="Data\Data2\file2.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="Data2\file3.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
~~~

暫無
暫無

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

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