Can I use one Log4Net config file for multiple (related) solutions? - configuration

I have executable projects A and B in solutions sA and sB. Both of these solutions reference projects C, D, etc... as they are similar in functionality and so share a lot of common code.
I've happily implemented Log4Net into sA by keeping the dll and config file in a parent folder of the two solutions and referencing them from sA. The config file was added to project A so that during the build it is copied into the bin\Debug or Release folder and available during run-time.
My problem is this - since C, D, etc are common projects, they are referencing the original golden source file and not any project-specific config. However, when I added the config file to A, it was copied into the project folder, so I am no longer editing the original. If I add the file to B then I now have three files, which will undoubtedly fall out of sync.
Is there a way I can have the projects reference the original and copy that into the appropriate bin folder, effectively having one config file across sA and sB? Is there another solution I'm overlooking?

Do you look for Add an existing file to a project as link?
Hope this helps

Related

Difference between tsconfig.json and tsconfig.app.json files in Angular

I'm a newbie in Angular. I used angular-cli to learn about angular and I found the files tsconfig.json and tsconfig.app.json. Both of these are typescript related and I found this link useful.
But why two such files has been used? Why can't the configurations in these two files be combined in one file? Please help me figure this out.
there is nothing that prevents you from getting rid of the tsconfig.app.json. it's just an additional config file that allows you to adjust your configuration on an app basis. this is e.g. useful when you have multiple apps in the same angular-cli workspace.
you could have the root folder with the tsconfig.json and then a sub folder app-a with a tsconfig.app.json file and another app in the sub-folder app-b with it's own tsconfig.app.json, which contains a variation of the global configuration.
the difference in configuration could e.g. be the output directory outDir or the includes or excludes used.
The difference is that tsconfig.app.json is a file that is related to the Angular App in particular, while tsconfig.json is a more general file that contains general typescript configuration. It's especially useful when you have a micro frontends system, where there are multiple Angular subprojects, each of them with its own tsconfig.app.json configuration. But if you want you could perfectly merge these two files into one, actually you surely noticed that tsconfig.app.json contains the line:
"extends": "./tsconfig.json"
which means that the whole App uses the configuration stated in tsconfig.app.json plus the configuration in tsconfig.json
Just want to add one more point.
It seems the tsconfig.app.json(App specific one) will override the tsconfig.json(global one).
My issue was with the types declaration from node not in scope of my Angular project and I was getting compile errors saying Buffer is not found.
I first added the types declaration in tsconfig.json thinking it will take effect in every app.
But I had to add it to my app-specific tsconfig.app.json file for it to take effect on my app.

Recompile CHM file

I'm working on a script that should be able to add additional information to a .chm file.
After decompiling it with hh.exe -decompile outputFolder fileName.chm command, I get the html files, and other 2 files with .hhc and .hhk extension.
After editing the html files, I'd like to recompile the files into a single .chm file. I read that that I also need a .hhp file in order to do that, but that's not generated in the decompilation process.
How can I solve this?
This is a problem of Compiled Help Modules (CHM). And yes - you need a *.hhp for compiling again by HTMLHelp Workshop or e.g. FAR HTML.
You know, you can use 7Zip or just open a command prompt window on a Windows PC and type the following:
hh.exe -decompile <target_directory> <path>\<filename>.chm
The only decompiler with any additional features is KeyTools as this can try to rebuild the project (.hhp) file. You'll need this file if you want to recompile the help project.
One thing to note is that the decompile/recompile process isn't a "round-trip" process. Certain features that the help author added to the original help file can't be recovered when you decompile it, so these may no longer work properly after you've recompiled.
This is especially true in the area of context-sensitive help, which may be broken in the new version of the file.
It can be useful, to include the .hhp file itself - after regenerating is done - into the section [FILES] of the project file (.HHP). Thus, this is included in the Compiled Help Module (CHM) when compiling. The appropriate *.HHP file then is decompiled in addition to the other files for future use.

Robohelp: How to reference a .chm file rather than copy it into a merged project?

I am assigning new .CHM files to existing merged projects. You may recognize this dialog:
When I go to assign a (in my case) an existing merged project a new .CHM file, I am presented with this dialog. However, I do not want the .CHM file to be copied in, I want it to reference a .CHM file. This is because I am working on a help project that compiles many other help projects that get changed separately from time to time. This leaves the compilation project out of date if the .CHM files are simply copied in; they're just older copies.
Is there a way to have a merged project point to a .CHM file rather than copy it in so that it reflects outside changes made to the .CHM file?
Thanks!
Someone was very helpful on Adobe forums and posted a video about my question. The short answer is that, as far as I can tell, RH cannot "reference" a file. If you want child projects .CHM files to appear in a master project, you must either copy the files manually, or output from the child project build separately to each directory you would like to have an updated .CHM in.
Here's the vid:
[https://www.youtube.com/watch?v=Q774WbvYd-c&feature=youtu.be][1]

How do I get access to assets added to a library?

I have a main project and an external library. I have added a directory of assets to the external library in src/assets/[50 files here].
When I do that, I go into the external library properties and select the folder and this includes all the files in that directory. Example shown (1 file selected):
In my main application I want to access that folder and copy the files into another directory. How do I access those files?
Note:
I may update these files periodically, copying the files and pasting them into that directory. There may be a few more or less files each time. So I'm against embedding them.
Go to your main project > Properties and select Flex Build Path. Under Source path, choose Add Folder... and enter the following
${DOCUMENTS}\GigaLibrary\src\assets
(assuming your library project is called GigaLibrary, that is)

How To Reconfigure Class File Paths In a FLA File?

I have a lot of library assets linked to external as3 classes. I would like to change the structure of the packages containing the linked classes, but if I do so, all links will get broken.
Is there any way to automatically or at least easily tell the FLA file where to get the new class files from? Could a FLA file be configured to read this sort of information from a configuration file?
You can add a folder to the source paths in ActionScript Settings. So if you had linked all your classes relative to the 'myClasses' folder, and then you moved everything to a different folder, you'd just have to update that one source path and it would find all the classes again.
Also, maybe this obvious, but I didn't realize it for a long time:
You can edit the class linkage right in the Library panel (without having to open the Properties for each symbol). Just double-click the linkage path.