Visual Studio: Как "скопировать в выходной каталог" без копирования структуры папок?
У меня есть несколько dll-файлов в папке lib моей папки проекта. На странице свойств файлов, я выбрал "действие при построении" как "содержание" и "копировать в выходной каталог" как "всегда копировать".
после сборки я фактически копирую dll, но они находятся внутри binReleaselib, а не в binRelease.
есть ли способ скопировать dll-файлы в binRelease (а не в binReleaselib) без написания сценария после сборки или обращения к nant и т. д.?
5 ответов:
вместо
<Content>использовать<ContentWithTargetPath>и укажите целевой путь, например:<ContentWithTargetPath Include="lib\some_file.dat"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <TargetPath>some_file.dat</TargetPath> </ContentWithTargetPath>обратите внимание, что эта запись может быть не видна из Visual Studio (2012, 2015, 2017), но после добавления вручную в csproj она появится в Visual Studio. Однако целевой путь не будет редактироваться через пользовательский интерфейс.
держать их в
$(ProjectDir)\Lib, но добавьте эти файлы"ссылка " к корню вашему .csproj. Теперь они будут скопированы в bin\Debug (или любую другую выходную папку), не находясь в lib.EDIT: этот ответ был написан еще тогда, когда ContentWithTargetPath не был доступен в версиях VS/MSBuild, которые я использовал. Оставив этот ответ здесь для людей, которые, возможно, придется использовать более старую версию против. Пожалуйста, прекратите комментируя это, мы все знаем, что есть лучшие способы сейчас.
в VisualStudio 2015 кажется, что если DLL, которые вы "добавляете со ссылкой",в подпапке того же проекта - они будут автоматически помещены в папку, и вывод также помещается в папку, как вы видели.
Если библиотеки DLL находятся в другом проекте или каталоге на диске не в подпапке проекта, вы можете 'добавить ссылку', и они будут помещены в корневой каталог просто отлично.
У меня была такая же проблема с проектом Visual Studio 2010 / C#.
для сборок (т. е. имеющих интерфейс .NET) используйте папку "ссылки" под вашим проектом в обозревателе решений. Щелкните его правой кнопкой мыши, выберите "Добавить существующий элемент" и найдите свой .сборка dll.
общие .dll файлы могут быть помещены в подпапку (как" \lib " было упомянуто выше) и в свойствах выберите:
- Build Action = "HelpFiles"
- Копировать В OutputDirectory = "Если Новее"
это работало для меня именно так, как хотелось - во время сборки, то .Библиотеки DLL копируются в выходной каталог без вложенной папки "\lib".
Comments