Какая разница между Контентом и Нет при установке "Всегда копировать в выходной каталог"?
=========================================================================================

В файле csproj мы можем включить файл с помощью элемента `None` или `Content`. Из MSDN говорится, что:

>  Нет. Файл не включен в группу вывода проекта и не является скомпилированный в процессе сборки. Примером может служить текстовый файл, содержащий документацию, такую как файл Readme.
> 
>  Содержимое. Файл не скомпилирован, но включен в Содержимое вывода. Например, этот параметр является значением по умолчанию для .htm или другой вид веб файла.
> 
> 
> 

Но так как элемент `None` или `Content` может содержать элемент `CopyToOutputDirectory`, поэтому мне интересно, установил ли это, что это `Always`, не будет ли поведение `None` и `Content` то же самое?

 

Не все, скопированное в ваш выходной каталог, устанавливая `CopyToOutputDirectory`, копируется в группу вывода контента. Поэтому вы можете сделать это:

```
File1---CopyToOutputDirectory = Copy always, Content 
File2---CopyToOutputDirectory = Copy always, Content 
File3---CopyToOutputDirectory = Copy always, None

```

Все три файла будут скопированы в выходной каталог, но только `File1` и `File2` будут скопированы в Content Output Group.

Кроме того, `Content` позволяет вам извлечь файл (в том же каталоге, что и сборка) в качестве потока через `Application.GetContentStream(URI)`. Чтобы этот метод работал, ему нужен настраиваемый атрибут `AssemblyAssociatedContentFile`, который Visual Studio добавляет, когда вы помечаете файл как `Content`.

 `None` и `Content` - значения для того, как файл относится к процессу сборки и развертывания. Таким образом, ваша сборка (например, MS Build) и развертывание могут отличаться от простое удаление файлов из выходного каталога. У вас может быть файл .bat, который вам действительно не нужен в выходном каталоге, но вам нужно его для развертывания.

 [Этот](/questions/12410/what-are-the-various-build-action-settings-in-visual-studio-project-properties-and-what-do-they-do) ответ SO содержит более подробную информацию о различных действиях сборки.