2017-02-19 11 views
1

Я копирую некоторые файлы в .NET-проекте .net, включив их в проект, установив действие сборки на «контент» и установив «всегда копировать» и хочу ссылаться к тем файлам из проекта. В .Net framework относительный путь, такой как «foo.zip», относится к файлу, который скопирован в выходной каталог. Однако файл копируется в каталог проекта, а не в выходной каталог с DLL. Например. foo.zip будет помещен рядом с исходными файлами, в то время как выходная dll будет «bin/Debug | Release/netcoreapp1.0». Использование относительного пути «foo.zip» в коде относится к пути «C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ foo.zip"Текущий путь project.json в ядре

Это предназначено? Если да, есть ли способ получить доступ к каталогу вывода? Самое близкое, что я нашел, это AppContext.BaseDirectory, который относится к каталогу netcoreapp1.0, но это не сработает, когда проект будет опубликован.

Обновление: после некоторых экспериментов действие сборки контента отвечало за копирование файл в исходный каталог, который кажется странным. Установка его на «none» выполняется так, как ожидалось, и скопировала файл в выходной каталог. Этот путь указывает на каталог IDE, как ожидалось?

+0

Подождите две недели .. vs2017 RC убьет эти проблемы. – Thomas

ответ

0

Вы хотите включить этот файл в выходной, используя раздел в project.json он publishOptions:

"publishOptions": { 
    "include": "foo.zip" 
}, 

Файл должен затем быть в том же относительном положении во время выполнения, как это, когда вы пишут код.

0

Update: после некоторых экспериментов, сборка действие содержания было отвечает за копирование файла в исходный каталог, который кажется нечетного. Установив его в «none», выполнив как ожидалось, скопируйте файл в выходной каталог. Этот путь указывает на каталог IDE как ожидается ?

Ожидается и полезно факт, что действие по контенту копирует файл в исходную directoty. Например, когда вы developping веб-сайт с MVC, то общее, что ваши взгляды (.cshtml файлы) находятся в Просмотров каталог исходного каталога, рядом с контроллерами и моделей каталогов.

Теперь вы используете веб-приложение из Visual Studio, и вы просто хотите изменить некоторые тексты на своей HTML-странице. Вы можете просто отредактировать файл .cshtml в Visual Studio и сохранить его. Ваши изменения появятся сразу после обновления страницы в веб-браузере. Нет необходимости компилировать и запускать веб-приложение, которое сэкономит много времени на веб-разработке.