为啥 C# 和 VB 项目有不同的清单资源结构?

Posted

技术标签:

【中文标题】为啥 C# 和 VB 项目有不同的清单资源结构?【英文标题】:Why do C# and VB projects have a different manifest resource structures?为什么 C# 和 VB 项目有不同的清单资源结构? 【发布时间】:2022-01-01 14:43:13 【问题描述】:

我的项目是一个 C# NET Framework 4.8 Web 应用程序,它利用资源文件夹(其中包含作为嵌入式资源构建的文件)在运行时获取模板。

最近我使用非常好的Code Converter 将它从 VB 转换为 C#。虽然它运行良好,但现在清单资源的结构似乎发生了变化,如 Assembly.GetManifestResourceNames() 所示。

例如,以前的 App.IssueNotification.html 现在列为 App.Resources.EmailTemplates.IssueNotification.html .. 与解决方案,但强迫我做出改变。

我的问题是

    这个 VB/C# 的区别实际上叫什么?有文档吗? 是否有设置或标志可以像 VB 一样使用“扁平化”资源名称,这样我就不需要更新我的代码了?

【问题讨论】:

如果您还没有这样做,我建议您将之前的 vbproj 文件与之后的 csproj 文件进行比较,看看它们是如何包含资源的。只要它们不涉及My,我希望您能够对项目文件进行按摩,以获得两个编译器的相同行为。请注意,您可以手动处理项目文件,但无法通过 IDE 访问。 【参考方案1】:

您可以在 C# 项目中使用 vb 库,您不可以这样做吗?这样您就不需要转换项目,您可以轻松访问它作为任何 .dll(库)

【讨论】:

我也在想同样的事情,但我认为它需要更多的代码更改而不是资源文件中的简单更改才能使其与 c# 一起使用 项目已经转换并且我已经更新了大部分资源名称,因此它可以使用完全限定的 C# 名称。我主要是出于好奇而询问,因为 C# 和 VB 之间的这种差异似乎没有得到很好的记录。 我明白了,是的,如果是这样的话,你是绝对正确的 U_U

以上是关于为啥 C# 和 VB 项目有不同的清单资源结构?的主要内容,如果未能解决你的问题,请参考以下文章

vb comboBOx和listBox两个属性有啥不同?

C# 到 VB.Net:为啥转换为 VB 时编译失败?

为啥在一个视图中有不同的上下文?

从 VB.Net DLL 引用 DLL

C#与VB.net有啥不同呀?

vb 的webBrowser控件为啥有时候打开网页速度奇慢?用IE却正常.