有两个程序在代码中非常相似,用于相同目的,其中一个功能是启动winform。
它们之间的主要区别在于,一个是“针对”.NET 3.5(因此使用3.5个方法/约定),另一个是.NET 4.0项目(使用新方法做同样的事情)
3.5项目可以正常启动winform,但4.0项目报告无法找到窗体.resx文件中嵌入的图标'$ this.Icon'。
3.5和4.0之间是否存在可能导致此问题的关键区别?也许4.0对命名约定更严格,不喜欢美元符号?
我已经将从3.5调用表单的代码文件导入到我的4.0项目中,并且仍然会抛出找不到文件的错误:(
错误消息:无法加载文件或程序集'Olympic.Braindump.OutlookPlugin2010.resources,Version = 1.0.0.0,Culture = en-US,PublicKeyToken = null'或其依赖项之一。系统找不到指定的文件。
stacktrace的一部分:at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark)
at System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary
2 localResourceSets,Boolean tryParents,Boolean createIfNotExists,StackCrawlMark& stackMark)