F# filetypes icons missing - f#

So after updating visual studio 2017 to the 15.8.8 version the .fs .fsi and .fsx filetypes have no icon on windows explorer.
I have checked the following registry keys to see if they were there, but no...they aren't.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
and
HKEY_CLASSES_ROOT\
I found an issue in GitHub
https://github.com/Microsoft/visualfsharp/issues/4017
So I could find for other filetypes like .cs or .cpp there is a registry key
like HKEY_CLASSES_ROOT\VisualStudio.css.aaa3ca14\DefaultIcon with the value of the dll where the icon is taken from
Could someone please provide me with the keys and values for the extensions
.fs .fsi and .fsx ?
I uninstalled, cleaned up the registry and installed again the visual studio 2017 and the problem is still there.
Win 10 [VersiĆ³n 10.0.17763.55]
Visual Studio 2017 Enterprise 15.8.8
F# 4.5
edit:
found two issues more:
https://github.com/dotnet/project-system/issues/3351
https://github.com/dotnet/project-system/issues/3352

For the time being, I found a workaround by exporting the reg keys from a working machine where VS2015 was installed.
I created a repository in case someone has the same problem until they fix the issue.
https://github.com/blfuentes/Fsharp_File_extensions

Related

.Net Project gives Many Errors 'Microsoft.VisualBasic.PowerPacks.OvalShape' is not defined, after Full Win10 Reinstall

(Apologies- I originally posted this under another case that had the same type of error message:
Microsoft.VisualBasic.Powerpacks.ShapeContainer not found)
My VS2019 project loads with 53 errors now, after reinstalling everything on a new HDD, after the Dec 2022 MS update killed my old Win 10 system.
Opening the project in VS2019 gives lots of errors like: 'Microsoft.VisualBasic.PowerPacks.ShapeContainer' is not defined
'Microsoft.VisualBasic.PowerPacks.Shape' is not defined
'Microsoft.VisualBasic.PowerPacks.OvalShape' is not defined
or 'FillGradientStyle' is not a member of 'PowerPacks'.
On the old win 10 system, all my projects worked fine. I migrated one of the projects from VS2008 to VS2019 and got it working in both versions.
Now in the new Win 10 install, I installed VS2008 again and VS2019 then copied my project folders over to my C drive.
My old Win 10 system and my old Win 7 system had a directory in Program Files x86 called 'Microsoft Visual Basic 2005 Power Packs', and inside is a folder named '3.0'; but I cannot find this anywhere (the download link provided in the other case does not exist now), so I simply copied that old directory over to my new Win 10 C:\Program Files (x86).
Opening the project in VS2019 gives lots of errors as shown above.
I also tried copying my old VS2008 version project folder over, and even opening that in VS2008 it gives these errors now.
The project references in both versions of the project already have C:\Program Files (x86)\Common Files\microsoft shared\Visual Basic Power Packs\1.1\Microsoft.VisualBasic.PowerPacks.Vs.dll and when I select this in the references window, the properties window populates and shows it is Version 9.0.0 (but RunTime Version v2.0.50727). The actual DLL file referenced shows File and Product version 9.0.30729 and says the Product Name is Microsoft (R) Visual Studio (R) 2008. So it seems like both the VS2008 and the VS2019 projects already were referencing the Powerpacks.Vs that was installed by VS2008 and they should work. (They worked in the old Win 10 system before MS ruined it).
The Visual Basic 2005 Power Packs folder was only copied, not installed (possible problem?) but that may be a red herring because the project has a reference to the VisualBasic.PowerPacks.Vs.dll.
What has happened? How do I fix it?
More Info: The Toolbox is empty, but maybe that's because it only populates once a form is open. The main form will not open because it has components from the Powerpacks, like oval shapes and containers, so I understand the toolbox not populating there. When I open my 'About' form, the toolbox populates, but the VisualBasicPowerpacks section has only a Pointer and PrintForm icon! No other shapes/components!
Just tried 'Choose Items' context menu option for the toolbox, but there are no Powerpack entries there, even though the project references include the Powerpacks .Vs.
OK, I have finally stumbled upon a solution myself. (Been working on this for a few days).
I believe there may be some incompatibility/confusion in how Visual Studio references powerpack versions.
Although my project had powerpacks.Vs referenced, and the Vs dll was there at the path, it clearly wasn't working.
Just now I opened the references window and clicked Add, then browsed to the C:\Program Files (x86)\Microsoft Visual Basic 2005 Power Packs\3.0 directory that I had copied from my old drive, selected the Microsoft.VisualBasic.PowerPacks.dll there (file version 3.0.30214.0) and clicked OK.
Now both powerpack dlls are listed.
Then I opened the main form -bingo- it loaded. The errors seemed to vanish.
I opened the toolbox and had to select the main form then another tab a few times before it loaded.
I right-clicked in the toolbox and added a new tab, named it Visual Basic Powerpacks 3.0 then right-clicked and selected 'Choose Items".
I found all the shapes (rectangle, oval, line) and selected them and clicked oK. They now are in the toolbox.
So I don't know why it didn't just work when I copied the project files over to my new install, but maybe when I opened the project it couldn't find the 3.0 and so changed the reference to the Vs version?
Maybe someone knows what actually happened. At least if anyone is caught by this problem this is quite likely what they need to do.I was lucky that I still have access to that old Powerpacks 3.0 directory, because it seems Microsoft has taken the old download page away.

What is the Microsoft.VisualStudio.Platform.WindowManagement.dll and where can I get the official ones from Microsoft?

I am looking for access to some functions in the DLL I mentioned above. I am not aware of any Nuget package that provides this DLLs.
So my question is, where do I get the latest version of this .dll from MS, and are they compatible with plugins targeting VS2019 and later?
Thanks for the answers, I am new to stack-overflow and probably didn't explain myself better.
I am developing a Visual Studio Plugin which closes some Document Windows in VS. I found some repos of VS plugins on Github which has a reference to this .DLL, and they use it to close all clones of Document Windows by casting the IVsWindowFrame to WindowFrame class belonging to this DLL.
As pointed out in comments: I found the DLL in my C: drive under this path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE

VS 2017 Community support for custom CodeTemplates

I've been trying to get custom CodeTemplates working in VS2017 Community edition without much luck. I've copied the %Program Files%\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding
files to CodeTemplates/ in my proj, tweaked the templates but I don't see any changes. I've customized the templates in prior vers of VS. Is it not supported in VS2017 Community Edition?
It works well in Visual Studio 2017. And yes that's the right folder you are looking at. You must copy the files as you did already and make sure to delete all the .vb.t4 if you are using c# as language from the CodeTemplates folder and vice-versa.
One more suggestion is to check and tweak the right template, since it has got withContext, withAction, Empty, etc...
EDIT :
Also when scaffolding, try to add -Verbose to the command, it'll tell you from where the templates are picked.
you can find it here:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcView

cannot be opened. The project type is not supported by this installation

.cs project file
The project was created using Visual Studio 2010 and I am trying to open it in Visual Studio 2010 itself but still I am facing this problem.
I have opened this project in VS 2012 and worked for few days but it has created in Visual studio 2010. Is there anything which preserve the project details on local machine?
This is the specific project section in my solution file:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Project Name", "Project Name\project name.csproj", "{48C1190E-7700-461B-ADCD-B5E0F1ECAD21}"
ProjectSection(ProjectDependencies) = postProject
{1F5440B3-9FD8-4FE2-B621-8697489ABDC4} = {1F5440B3-9FD8-4FE2-B621-8697489ABDC4}
EndProjectSection
EndProject
In Visual Studio it is possible to add Project Types, e.g. for creating an MSI, by installing an Add-On to the development machine. It appears that in the past this was done, and then that new Project Type was used to add a Project to the Solution. But now you are opening the Solution on a machine that does not have that new Project Type.
Look for the GUID of the missing Project Type, it should be part of the error you are getting. Then google "project type {the-guid}" to see which Add-On you need to install on your development machine.
It is also possible that a new Project Type was used in the Solution that simply can not work with VS 2010. In that case your options are either to keep using VS2012, or to start over with a new Solution in VS2010 and migrate the projects into it that are compatible (which may be a bit tricky or hard to do if VS2012 saved them).
Would it be too difficult to just recreate the project and include all the necessary files and references? Once the project was saved from VS 2012, the format may have broken compatibility with 2010. Sometimes this is fixable just by updating the version number in the project file, but I don't see it in your image.

TFS Build - iSeries Reference

I am working through setting up our first build definition through TFS 2013. I have worked through all of the errors (mostly missing reference files) except one:
Type 'iDB2Command' is not defined.
The type is part of IBM.Data.DB2.iSeries.dll, which I have placed on the build server in the appropriate location. I am really at a loss as to what to do in this situation.
Obviously building through Visual Studio works just fine. The file is not registerable. The iSeries client/SDK installs are not necessary (I do not have them on my machine, and I can build).
My best guess is that it wants the .NET 2.0 SDK (TFS is running on Windows Server 2013 and I already had to install several versions of the Windows and .NET SDKs).
How do I get my build to see this file and complete?
Ultimately this appears to have been a permissions issue. By following advice similar to the answer to this question (which I had to do for the Excel reference), I needed to put the IBM DLL into a Libs folder within the Team Project.
Once I did this, and updated the references in the solution, the build worked just fine.

Resources