包含引用项目的.config文件

Dav*_*ner 23 msbuild visual-studio-2010 msbuild-4.0

我想添加一个,而不是从程序集的引用输出中排除文件!

我有一个控制台应用程序项目(BuildTest1),它引用了第二个类库项目(ClassLibrary1).Visual Studio解决方案如下所示:

解决方案布局

我有一个具有app.config的类库项目.我希望将.config文件复制到引用项目的输出中,就像.dll和.pdb文件一样.类库的配置文件作为"ClassLibrary1.dll.config"复制到类库输出目录中

我已经尝试将其添加到.exe项目的.csproj文件中,但它似乎没有任何区别:

  <PropertyGroup>
    <AllowedReferenceRelatedFileExtensions>
        .pdb;
        .xml;
        .config
    </AllowedReferenceRelatedFileExtensions>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

Dav*_*ner 38

我是如此接近......我将其跟踪到MSBuild ResolveAssemblyReference任务,该任务是从Microsoft.Common.targets中的ResolveAssemblyReferences目标调用的.这是填充ReferenceCopyLocalPaths项的内容.

因此,看看它匹配的文件模式,我发现文件扩展名.dll.config(而不仅仅是.config)可以解决这个问题:

<PropertyGroup>
    <AllowedReferenceRelatedFileExtensions>
        .pdb;
        .xml;
        .dll.config
    </AllowedReferenceRelatedFileExtensions>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的跟进.太糟糕了,你无法以相反的方式配置它,从库项目,因为那是知道其他人需要其配置文件的那个."你想要我的配置文件,相信我" (3认同)
  • 也许这很明显,但是为可执行文件添加配置文件时,必须添加"exe.config",例如对控制台应用程序的引用. (3认同)
  • 伙计,你救了我的一天:) (2认同)