我正在创建一个VS2010扩展(我们称之为MyExtension
)。此扩展的UI位于不同的程序集(MyExtension.UI
)中,扩展项目仅包含用于从菜单命令调用UI的样板代码。
MyExtension.UI
包含本地化资源(例如fr\MyExtensions.UI.resources.dll
),但VSIX包不包含这些资源(尽管它们存在于bin \ Debug目录中)。
我如何告诉VS将这些资源包含在VSIX包中?我查看了.vsixmanifest设计师,但我找不到合适的选项......
答案 0 :(得分:5)
这实际上是一个将在未来版本中解决的错误。幸运的是,有一个简单的解决方法:
BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup
答案 1 :(得分:0)
@JohnField - 我遇到了同样的错误 - "无法确定' ...'" - 并希望在此处列出修复程序,以防其他人遇到同样的问题。
我的问题是我有一个引用程序集的ProjectReference,我在我的.vsixmanifest文件中将程序集列为资产。当您添加'复制到输出目录'项目到引用的程序集,VS SDK会混淆,因为它认为您添加的程序集资产仅适用于程序集。它会看到额外的CopyToOutputDirectory项,并认为它是一个程序集并尝试加载它。
解决方法是在.vsixmanifest中删除Assembly作为资产。这不是必需的,因为项目已被引用,其中包括生成的.vsix中的程序集。实际上,名称不好的AssetType“Microsoft.VisualStudio.Assembly”实际上是用于模板向导。