[Mono-dev] List of referenced assemblies
Rafael Teixeira
monoman at gmail.com
Tue Nov 26 11:05:36 UTC 2013
Fat Libraries would play havoc with library signatures/versioning. What
Mono has is mkbundle, where all managed libraries (but not the native
dependencies) are packaged in a single executable (huge) file.
See the Bundles section in
http://www.mono-project.com/Guide:Running_Mono_Applications
Hope it helps,
Rafael Teixeira
O..:.)oooo
On Mon, Nov 25, 2013 at 2:17 PM, Vassil Vassilev <v.g.vassilev at gmail.com>wrote:
> Is there any obvious advantage of ilmerge over adding all relevant files
> when building that library. I.e expanding the references. I can afford that
> because in our home-grown cmake csharp module keeps track of the
> dependencies.
> Vassil
>
> On 11/25/2013 04:58 PM, Greg Young wrote:
>
> Search for "ilmerge" it can do this after the compilation.
>
>
> On Mon, Nov 25, 2013 at 5:27 PM, Vassil Vassilev <v.g.vassilev at gmail.com>wrote:
>
>> Hi,
>> Thanks for the answer. This seemed not to be the case with the M$
>> compiler. I will double check today.
>> Is there any way to build 'fat libraries' (standalone) i.e to tell the
>> compiler to put everything that the library needs (of course not mscorlib)
>> in the library itself?
>> Cheers,
>> Vassil
>>
>> On 11/25/2013 12:19 PM, Rafael Teixeira wrote:
>>
>> That is the rule because the compiler need to know the details of the
>> Interface that is defined A because it is being used publicly as your
>> public class implements it.
>>
>> As assembly references aren't transitive you need to be explicit (to
>> embed proper dependency versioning metadata) about which library you are
>> referencing types from.
>>
>> Note that if your type MyClass had just a private field of that
>> interface type, for instance, of if MyClass was in the internal instead of
>> public scope the compiler would not need to have access to library A, but
>> nevertheless your running app would need to have it available to load and
>> execute code in library B.
>>
>> Hope it helps,
>>
>> Rafael Teixeira
>> O..:.)oooo
>>
>>
>> On Sat, Nov 23, 2013 at 1:32 PM, Vassil Vassilev <v.g.vassilev at gmail.com>wrote:
>>
>>> Hi,
>>> A silly question:
>>> I have interface IInterface defined in a library A.
>>> I have a class(generic) MyClass, implementing that interface in
>>> library B.
>>> I have a user of MyClass (the place I do new MyClass<sometype>()),
>>> when trying to compile the code using MyClass it tells me that I need to
>>> include not only B but A as well. To me that is strange... Is there a way
>>> to workaround this problem? Am I doing something wrong?
>>> Many thanks,
>>> Vassil
>>> _______________________________________________
>>> Mono-devel-list mailing list
>>> Mono-devel-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>
>>
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>
>
> --
> Le doute n'est pas une condition agréable, mais la certitude est absurde.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20131126/9ef4a05f/attachment.html>
More information about the Mono-devel-list
mailing list