> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 操作說明：使用 Visual Studio 部署遊戲資源檔

> 操作說明：使用 Visual Studio 部署遊戲資源檔

當您使用 Visual Studio 部署或啟動 XBOX One Software Development Kit 專案時，`Gaming.Xbox.XboxOne.x64\Layout\Image\Loose` 專案子目錄的內容會部署至主機。當您為 XBOX 建置 Microsoft Game Development Kit 專案時，編譯後的應用程式檔案會自動複製到此目錄並進行部署。若要部署其他遊戲資源 (例如紋理與著色器)，也需要將其檔案複製到 XBOX One XDK 專案的 `Loose` 子目錄。

`Loose` 目錄相對於專案目錄。例如，如果專案儲存在 c:\MyProjects\D3D12Game1\D3D12Game1 目錄中，`Loose` 目錄就是該專案的子目錄，位於：c:\MyProjects\D3D12Game1\D3D12Game1\Gaming.Xbox.XboxOne.x64\Layout\Image\Loose。

任何放在 `Loose` 目錄中的檔案 (無論是手動放置或作為建置流程的一部分)，都會與您的應用程式一起部署。

`Loose` 目錄中的檔案會以它們在 `Loose` 目錄中的相同相對路徑進行部署。例如，Loose\Models 中的檔案會部署在主機上的 Models 子目錄中。

除非 `Loose` 目錄中的檔案以內容形式存在於專案中 (請參閱下方的將檔案新增至專案)，否則在建置或清除專案時不會刪除這些檔案。

將檔案新增至 Gaming.Xbox.XboxOne.x64\Layout\Image\Loose 有三種主要方式。

* [手動複製檔案](#ID4ESC)
* [使用建置後事件複製](#ID4EXD)
* [將檔案新增至專案](#ID4E6F)

<a id="ID4ESC" />

## 手動複製檔案

手動將檔案複製到 `Loose` 目錄，只要檔案留在該目錄中，就會與專案一起部署。

#### 手動新增檔案

* 使用 **xcopy** 將檔案從專案目錄複製到 \Layout\Image\Loose 目錄。

此方法快速又簡單，但如果您與建置實驗室或未複製所有必要檔案的開發人員合作，可能會造成問題。

手動複製到 `Loose` 目錄的檔案，只要仍在該目錄中，就會持續被部署。手動複製到 `Loose` 目錄的檔案在建置或清除專案時不會被刪除。若要停止部署這些檔案，必須將其從 `Loose` 目錄中刪除。

<a id="ID4EXD" />

## 使用建置後事件複製

在 Visual Studio 中建立複製檔案的建置後事件，會在每次建置專案時將檔案複製到 `Loose` 目錄。此外，建置後事件可以使用 `$(ProjectDir)` 與 `$(LayoutDir)` 這兩個 Visual Studio 屬性，分別識別專案目錄與配置目錄。

例如，下列命令列會將檔案 MyPicture.bmp 從專案目錄複製到 Layout 目錄中的 \Image\Loose，部署時會將其複製到主機。

```text theme={null}
xcopy $(ProjectDir)MyPicture.bmp $(LayoutDir)Image\Loose  
```

#### 使用建置後事件新增檔案

1. 開啟專案的 **屬性頁** 對話方塊。在 **建置事件** 底下，選取 **建置後事件** 頁面。

**圖 1.   為建置後事件指定命令列。**

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_post_build_event.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=cfb00340e22c3878087e359b539a02ff" alt="Direct3DGame1 屬性頁" width="640" height="454" data-path="images/gdk/tools/property_page_post_build_event.png" />

1. 在 **命令列** 中，輸入使用 **xcopy** 將檔案從專案目錄複製到 Layout\Image\Loose 目錄的命令列。

例如，**xcopy**\*\*$(ProjectDir)***file-name***$(LayoutDir)Image\Loose\*\*，其中 *file-name* 符合您要複製之檔案的名稱。

<Note>
  使用建置後事件複製到 `Loose` 目錄的檔案，只要仍在該目錄中，就會持續被部署——即使已從專案中移除建置後事件也是如此。使用建置後事件複製到 `Loose` 目錄的檔案在建置或清除專案時不會被刪除。若要停止部署這些檔案，也必須將其從 `Loose` 目錄中刪除。
</Note>

<a id="ID4E6F" />

## 將檔案新增至專案

檔案也可以作為資源新增至專案。專案資源會自動複製到 `Loose` 目錄，並與專案一起部署。

#### 將檔案新增為專案資源

1. 以滑鼠右鍵按一下專案，然後選取 **加入、現有項目**。
2. 選取要新增至專案的項目。
3. 開啟資源的屬性視窗，然後確定 **Content** 屬性設為 **Yes**。

此方法處理這些檔案的方式與其他專案檔案 (例如可執行檔) 完全相同。建置或清除專案時會刪除檔案，並自動複製到 `Loose` 目錄且與專案一起部署。從專案中移除檔案，也會將其從 `Loose` 目錄中移除。

<a id="ID4EEH" />

## 另請參閱

[XBOX One 部署](/zh-TW/home/setup-install/concepts/deployment)


## Related topics

- [XBOX 開發的 Visual Studio 屬性](/zh-TW/tools/tools-console/visualstudio/durango-property-pages.md)
- [用於主機開發的 Visual Studio](/zh-TW/tools/tools-console/visualstudio/visualstudio.md)
- [Visual Studio](/zh-TW/tools/tools-console/visualstudio/index.md)
- [使用 Visual Studio 偵錯 PC 專案](/zh-TW/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio.md)
- [操作說明](/zh-TW/services/xbox-services/multiplayer/invites/how-to/index.md)
