Hi,
I would like to NGEN my CodeRush as suggested in your posting for the new CodeRush version (https://www.devexpress.com/products/coderush/coderush-for-roslyn-whats-new.xml).
I do not see the NGEN window in my Visual Studio Enterprise 2017 v. 15.8.4, as shown in your posting.
Do I have to do anything to see this option?
Thanks for your support.
Eduardo Quintana
Detail: I always execute VS as Administrator, by default.
Eduardo Quinana
Same here. I do not see the option. Admin mode… CodeRush 18.1.11 on VS 15.8.4.
Hello,
Thank for you notifying us of the problem.
We have reproduced the same problem on our side and will try to fix it shortly.
To make sure that we are fixing exactly the problem you faced, could you provide us with your CodeRush settings folder: "CodeRush->Support->Settings Folder…" and with the CodeRush log files folder: "CodeRush->Support->CodeRush Logs…".
I am looking forward to receiving data from you.
The requested files are in the attached file, compressed with WinRar and in the selfextracting form.
Eduardo Quintana
After I changed the setting as explained in the T674303 issue, and restarted Visual Studio, the window showing the NGEN optons appeared and I chose the middle one (run NGEN every time a new CodeRush version is installed).
I do not know if there is any connection between the two problems, but, it now worked as expected now.
I will observe the VS starting time from now on, to see if the NGEN was really executed and is impacting positively the VS startup time.
I hope this info helps you with the problem solution.
Thanks for your support.
Eduardo Quintana
Thank you for providing us with log-files and settings.
I am happy to hear that the NGen hint appeared on your side. We have analyzed all the information from you and reproduced such a problem on our side.
We will try to fix the problem as soon as possible and notify you about our progress in the context of the current ticket.
Thanks, I will be waiting for a correction.
Meanwhile, I would like to know how to I do to verify that the NGEN has been run in my computer?
Eduardo Quintana
As far as I understand you want to see whether CodeRush assemblies loaded via NGen in Visual Studio?
If so, you can check this with help of Process Explorer, for this perform the following steps:
Note: NGen can process assemblies for a long time and not all DevExpress.CodeRush.* assemblies can be processed on NGen and thus shown in a list of the Process Explorer. But we will do our best to improve the NGen processing in our future updates.
Apparently, it did not happen. See attached image, please.
Is there a way to ensure that the NGEN is really used by CodeRush?
Eduardo Quintana
Here's my log and settings. Enabling the image paste worked, but it didn't fix the no-ngen warning.
This morning I was greeted in VS with the CR NGen banner. Now I see a little 'CodeRush Ngen Installer' icon working in the notification area… seems it is working!
I would suggest you check the DLLs, as described by Dmitry above, for the same thing happened to me, but the NGEN was never not executed.
Eduardo Quintana
You are right. After the notification finished, process explorer showed only DomainNeutral assemblies. I closed and restarted VS and now everything seems perfect.
Not here!
I use VS 2017 Enterprise 158.5, and CodeRush Ultimate v18.1.11.
Now, when I execute VS no option appears to NGEN its libraries.
Eduardo Quintana
Maybe… try running this manually as admin…
"C:\Users\alexa\AppData\Local\Microsoft\VisualStudio\15.0_37926244\Extensions\yyp0uvsv.j5i\NGenInstaller.exe"
In VS CodeRush\Support\ExtensionFolder->NGenInstaller.exe
I could not find the referred dir under my user, but I ran the NGenInstaller.exe.
It took some minutes to complete, and now the DLLs started to be NGen'ed.
Thanks for your help.
Incidentally, I have a program I developed to automatically update all the DXperience Suite localization libraries, including the ones in the compiled projects. Should you like to get a complimentary copy, just let me know.
Regards,
Eduardo Quintana
I would like to know if the only CodeRush DLLs that get NGen'ed are the five ones in the attached image, or did I miss something here?
Eduardo Quintana
Hi guys,
We have analyzed your log files and it seems that the reason for the issue was the same - we can't correctly create a list of dependent assemblies for NGen. For some reason, one of the dependent assemblies - System.Composition.AttributedModel was not loaded in Visual Studio at the moment we collect dependencies for NGen and so the information banner was not shown as expected. We have changed the way we collect such dependencies and it works correctly in our tests. Also, we have added an additional logging so we can get more information if something goes wrong. Please perform these actions if the NGen process was incomplete or not displayed at all and you want to test a new build:
https://www.screencast.com/t/u5EW64a6
To check if CodeRush assemblies are loaded from the native images cache, please refer to the method Dmitry already described.
Please note, that not all of CR assemblies will be loaded from the native images cache now and the exact list may be different on different machines. This screencast shows the list on our test machines:
https://www.screencast.com/t/BpHnJNda2SI
We will continue to work to improve it in future updates.
Please inform us about your results.
P.S.
Running the NGenInstaller tool manually is not suggested because the NGen process wouldn't have the full dependencies list and the compiling process can be incorrect.
Hi Alex,
I followed your instructions and everything worked perfectly.
Thanks for the quickfix.
Alex
Hi Alex,
I followed the procedure you described and now, alas, no dll is native!
The logs dir is attached.
I restarted VS several times, for other reasons, but only 10 DLL are native so far. It has been some time since I have followed your procedure, so I dont' think this number will increase any time soon.
Eduardo Quintana
I removed the xml file again and restarted VS. I chose the always NGen option (the middle one) and waited patiently for the NGen Icon to process the files.
Then, I restarted VS once again. This time only 8 dll where native.
I'm about to give up. I spent to much time trying to make this feature work. It has been frustrating.
When you have a version that works all the time I will try again.
Thanks for you support.
Eduardo Quintan
Hello Eduardo,
Since the original issue is resolved and the suggestion to use NGen is shown as expected now, I've created a separate ticket on your behalf (CodeRush assemblies cannot be loaded from native images after NGen). It has been placed in our processing queue and will be answered shortly.