2012-03-19 4 views
21

Вместо excluding a file from the referenced output of an assembly, я хочу добавить его!Включите файл .config проекта ссылки на файл

У меня есть проект консольного приложения (BuildTest1), который ссылается на проект библиотеки второго класса (ClassLibrary1). Решение Visual Studio выглядит следующим образом:

Solution layout

У меня есть проект библиотеки классов, который имеет app.config. Я хочу, чтобы этот файл .config копировался на вывод проекта ссылки, как и файлы .dll и .pdb. Конфигурационный файл для библиотеки классов копируется в каталог вывода библиотеки классов как «ClassLibrary1.dll.config»

Я попытался добавить это в файл .csproj проекта .exe, но он, похоже, не делает никаких разница:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .config 
    </AllowedReferenceRelatedFileExtensions> 
    </PropertyGroup> 

ответ

36

Я был так близко ... Я отслеживал это вниз к MSBuild ResolveAssemblyReference задачи, которая вызывается из мишени ResolveAssemblyReferences в Microsoft.Common.targets. Это то, что заполняет элемент ReferenceCopyLocalPaths.

Так, глядя на схеме файлов он совпадающий я обнаружил, что расширение файла .dll.config (а не просто .config) сделал трюк:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .dll.config 
    </AllowedReferenceRelatedFileExtensions> 
</PropertyGroup> 
+3

Спасибо за катамнестический. Слишком плохо, что вы не можете настроить его наоборот, из проекта библиотеки, поскольку это тот, который знал бы, что другим нужен его файл конфигурации. «Мне нужен мой файл конфигурации, доверься мне» –

+1

Работал для меня ... Спасибо. !! – Krunal

+1

О, это так здорово. Спасибо! –

Смежные вопросы