gpt4 book ai didi

visual-studio-2017 - 文件 ilmerge.internalize.exclude.txt 有什么作用?

转载 作者:行者123 更新时间:2023-12-04 13:02:31 25 4
gpt4 key购买 nike

在代码审查时,我在 csproj 中发现了以下内容文件:

<ItemGroup>
<Content Include="ilmerge.internalize.exclude.txt" />
</ItemGroup>

我的源代码目录中不存在这样的文件。
虽然我在 ..packages..\content 中找到了该文件和 ..\bin\Debug\它们都包含 a 命名空间(从此问题中删除)后跟一个星号。 .. Web.Api.*
我猜它源于 ILMerge,但不能说如何。

我想我可以安全地删除 ItemGroup元素。对?

编辑

目前的理论是,这些文件来自一个编写不当的依赖项,该依赖项利用 ILMerge 不公开其自身的依赖项。在一些返工中,我们设法让它做相反的事情,公开所有内容,甚至文件 ilmerge.internalize.exclude.txt被结转。

不过,这个问题仍然没有答案——文件是做什么的。

最佳答案

这在您指定 /internalize:ilmerge.internalize.exclude.txt 时生效。标志为 ILMerge - 无论是什么类型 public , 变成 internal ,除了 ilmerge.internalize.exclude.txt 中列出的内容. Internalizing Assemblies with ILMerge
此文件允许您通过正则表达式设置类型/命名空间,您希望将访问修饰符保留原样(公共(public))。也就是说,在每一行中,您可以指定要从内部化(非国际化)中排除的类型的完全限定名称:

Namespace\.Typename
Namespace2\..*
不转义点也可以在正则表达式中使用,点表示任何字符。
您可能希望查看 MSBuild 输出日志您的项目是否以某种方式使用 ILMerge。

关于visual-studio-2017 - 文件 ilmerge.internalize.exclude.txt 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com