简体   繁体   中英

VSIX package doesn't include localized resources of referenced assembly

I'm creating a VS2010 extension (let's call it MyExtension ). The UI for this extension is in a different assembly ( MyExtension.UI ), the extension project only contains boilerplate code to call the UI from the menu command.

MyExtension.UI contains localized resources (eg fr\\MyExtensions.UI.resources.dll ), but the VSIX package doesn't include these resources (although they are present in the bin\\Debug directory).

How should I tell VS to include these resources in the VSIX package? I looked in the .vsixmanifest designer, but I can't find the appropriate option...

This is actually a bug that will be addressed in a future release. Fortunately, there is a simple workaround:

  1. Select the Project Reference node to 'MyExtension.UI' in Solution Explorer and view the Properties (F4)
  2. Change the value for "Output Groups Included in VSIX" to the following: BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup

@JohnField - I ran into the same error - "Could not determine the Full Name of the Assembly at '...'" - and wanted to list the fix here, in case anyone else runs into the same problem.

My issue was that I had both a ProjectReference to the referenced assembly AND I listed the Assembly as an Asset in my .vsixmanifest file. When you add a 'Copy To Output Directory' item to the referenced assembly, the VS SDK gets confused because it thinks the Assembly Asset you added was only for the Assembly. It sees the extra CopyToOutputDirectory item, and thinks it is an assembly and tries to load it.

The fix was to remove the Assembly as an Asset in the .vsixmanifest. This is not needed because the project is already being referenced, which includes the assembly in the resulting .vsix. Actually, the poorly name AssetType “Microsoft.VisualStudio.Assembly” is actually for template wizards.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM