How to add satellite assemblies to a project in Vi

2019-07-18 02:52发布

I'm working in a project which references assemblies from a third company. These assemblies have satellite assemblies that I'm copying with a post-build event to the bin folder.

Is There a way to include those third party satellite assemblies into the project so I have not to care with the post-build events and maintaining the files?

Thanks in advance.

MORE INFORMATION: As the references have only resources they are not added as project references, actually I'm just copying them to the // folder. As each localized reference has the same name I would only be able to add it one time to the project's references.

3条回答
闹够了就滚
2楼-- · 2019-07-18 03:25

I was researching a related problem and stumbled on this thread. Please note that referencing the satellite assemblies directly (via the 'add reference' dialog) is not the way to incorporate them into your application. In stead just make sure they are located in a folder hierarchy as suggested above (relative to the original location of the binary file they contain resources for).

The only file you add a reference to explicitly is the library itself. Do remember to set 'copy local' to true in the property window of the reference. The runtime will then make sure to pull resources from the file whose directory matches the system locale.

查看更多
Luminary・发光体
3楼-- · 2019-07-18 03:35

In the references, right click and select properties on your reference to the third party assembly.

Ensure that "copy local" is true.

If this is true, then it should copy the satellite assemblies, as this is the behavior I've experienced in Visual Studio.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-07-18 03:37

It is automatic in the C# IDE. Setting Copy Local = True on the assembly reference ensures that the satellite assemblies get copied as well. In the C++ IDE it is a setting: Framework + References, Build properties category, "Copy Local Satellite Assemblies".

There's not enough info in your question to narrow down which IDE you use or why it wouldn't work for you. Maybe that 3rd party is doing something non-standard. Give them a call.

查看更多
登录 后发表回答