【问题标题】:How to avoid copying referenced project config to bin folder如何避免将引用的项目配置复制到 bin 文件夹
【发布时间】:2021-06-17 19:46:50
【问题描述】:

早上好,亲爱的社区。​​p>

我想询问有关复制引用项目的配置文件的问题。我已经尝试解决我的问题将近两天了,但没有取得任何结果。

问题是我有 MyFinance.Repositories 类库,其中包含其 MyFinance.Repositories.appsetting.json 文件。它的“复制到输出目录”属性的值为“始终复制”。

另外,我有 MyFinance.Api 项目,它引用了 MyFinance.Repositories。

当我构建 MyFinance.Api 时,MyFinance.Repositories.appsetting.json 被复制到 MyFinance.Api\bin\Debug\netcoreapp3.1 文件夹。

交易是我想阻止它。我发现的最佳假设是使用带有 AllowedRelatedFileExtensions 属性的 ResolveAssemblyReference 任务。

MyFinance.Api.scproj 的 sn-p:

<ItemGroup>
    <ProjectReference Include="..\MyFinance.Repositories\MyFinance.Repositories.csproj">
      <Targets>
        <ResolveAssemblyReference AllowedRelatedFileExtensions=".xml;.pdb"></ResolveAssemblyReference>
      </Targets>
    </ProjectReference>
</ItemGroup>

但它不起作用。所以,请帮助我) 提前谢谢你。

附: MyFinance.Repositories.appsetting.json 的属性“复制到输出目录”必须是“始终复制”。 附言在构建后删除这个文件也是无效的。

【问题讨论】:

  • 类库不需要配置文件,您将设置放在使用该库的可执行文件的配置文件中。所以不要为你正在创造的所有复杂性而烦恼。
  • @Crowcoder,感谢您的回复。交易是我所描述的情况发生在生产代码中。 MyFinanceApi 项目只是一个例子,它说明了我的生产情况。我无法删除该类库配置。
  • 您可以编写将删除您的文件的构建后目标,但这是一个糟糕的解决方案
  • @T.Gryts,有关于这个问题的更新吗?
  • @T.Gryts,有关于这个问题的更新吗?佩里的回答是否对您处理问题有帮助,如果有帮助,请不要忘记accept it。如果没有,请随时告诉我们:)

标签: c# .net visual-studio msbuild csproj


【解决方案1】:

其实MyFinance.Repositories.appsetting.json是一个内容资源json文件,而不是运行时输出文件。所以AllowedRelatedFileExtensionsAllowedReferenceRelatedFileExtensions 属性没有工作来处理资源文件。

属性节点只能handle the generated runtime, output files(pdb,dev.json,xml,...)而不是更新资源文件的副本。

你可以用&lt;AllowedReferenceRelatedFileExtensions&gt;*.txt&lt;/AllowedReferenceRelatedFileExtensions&gt;的txt资源文件和&lt;AllowedReferenceRelatedFileExtensions&gt;*.pdb&lt;/AllowedReferenceRelatedFileExtensions&gt;的输出pdb文件来测试它,然后你会发现不同之处。

解决方案

所以最好的办法就是删除文件,在MyFinance.Api.csproj文件下添加这些:

<Target Name="DeleteFile" AfterTargets="_CopyOutOfDateSourceItemsToOutputDirectory">
    <Delete Files="$(TargetDir)MyFinance.Repositories.appsettings.json"></Delete>
</Target>

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 2017-08-07
    • 2010-10-12
    • 2011-02-28
    • 2012-06-08
    • 1970-01-01
    • 2021-01-04
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多