Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

When I compile a project on my computer, under the bin folder I have this file architecture:

bin/
    BS/                                                #I believed it is specific to my project
    fr/                                                #this is the folder that bother me
        Microsoft.Build.Utilities.V3.5.ressource.dll   # the only file under that folder
    fr-FR/
    [...]                                              # lots of .dll and other things
    Microsoft.Build.Utilities.V3.5.dll                 # same dll name as in the fr/ folder except the ".ressource" is missing

The fr and fr-FR folder probably are named like that because my OS and VS language are french.

However when I build this project within a build server I get the EXACT same bin folder except the fr/ folder is missing. And consequently the Microsoft.Build.Utilities.V3.5.dll file is also missing. This is the only difference.

I would like to know what purpose this fr/ folder serves, and if it is mandatory the the project well beeing ? I'm looking for a canonical answer not a specific one.

EDIT: I don't think it is related to satellite assemblies. Otherwise I would not just be missing the fr/ folder on the build server. I imagine a en/ folder would be substituted instead. Not just removed.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
320 views
Welcome To Ask or Share your Answers For Others

1 Answer

I think you do not have to worry too much about this issue. The problem is caused by the inconsistent language version of the referenced Net Framework dll in your projects on two different machines. This is just to generate a French resource file for the dll and will not have any adverse effects on the build.

MSBuild still uses English as the designated language. Your first machine has installed French version of Net Framework Sdk.

Microsoft.Build.Utilities.V3.5.dll is from Net Framework SDK.

Therefore, when the French version of the assembly dll is recognized, it will automatically generate a corresponding French version of the resource dll. Its function is only to provide instructions in the French version, and it has no effect on the build.

When you build the project on another server and it installed the English version of the Net Framework SDK, MSBuild keeps the same language of the dll and no translation instruction dll will be generated in the bin folder.

And you do have to worry about this behavior and it is normal, harmless which is caused by the different language version of the dll on different machines.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...