【问题标题】:AllowedReferenceRelatedFileExtensions not working/recognized in buildAllowedReferenceRelatedFileExtensions 在构建中不起作用/无法识别
【发布时间】:2015-08-08 21:02:32
【问题描述】:

我试图确保在构建期间将参考项目中生成的 .dll.config 文件拉入父项目的 /bin 目录。我已阅读 herehere 关于在父项目的 .vbproj 文件中使用 AllowedReferenceReleatedFileExtension 设置的内容,但我收到了警告:

The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'AllowedReferenceRelatedFileExtensions' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'

我添加到 .vbproj 文件末尾的属性组如下所示:

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

我对 .net 构建有点不了解,所以我不确定从哪里开始尝试解决此警告。 .vbproj 文件中还有一些其他类似的警告似乎不会导致任何问题,但是在我添加此部分后运行构建实际上并没有复制参考项目的 .dll.config 文件。

有什么想法吗?

【问题讨论】:

    标签: vb.net visual-studio-2013 msbuild-4.0


    【解决方案1】:

    根据this answer(对我有用),您似乎需要在每个扩展名后添加一个分号。

    不确定这是否是强制性的

    【讨论】:

      【解决方案2】:

      将构建输出详细程度设置为详细,并查看从何处复制依赖项。您的目标 dll 可能是从多个项目中间接引用的,并且它是从没有设置了 AllowedReferenceRelatedFileExtensions 的项目中复制的。

      在构建输出中搜索: 依赖“你的目标 dll” 解析的文件路径是“复制目标dll的路径”

      P.S.:“Target dll”是指需要将 .dll.config 复制到引用项目的输出文件夹中的 dll。

      【讨论】:

        【解决方案3】:

        您是否尝试使用 MSBuild 而不是手动添加标签?

        MSBuild.exe MyProject.csproj /t:build "/p:AllowedReferenceRelatedFileExtensions=.pdb;.xml;.dll.config"

        【讨论】:

        • 我没有尝试过,但我设法通过将双引号移动到属性值而不是整个属性参数来使其工作。我通过将 TFS 构建添加到构建定义的“构建->高级->MSBuild 参数”部分来修改 TFS 构建,它可以在我的 TFS 构建服务器上运行。但是如何在 Visual Studio 中为项目的构建指定这个,以便在我进行本地构建时保留 .dll.config 文件?
        猜你喜欢
        • 2018-07-30
        • 1970-01-01
        • 2015-02-18
        • 1970-01-01
        • 2022-01-14
        • 1970-01-01
        • 1970-01-01
        • 2019-02-27
        • 1970-01-01
        相关资源
        最近更新 更多