Determining .NET Dependency

Mark Keogan 1 Reputation point
2022-03-29T08:50:48.073+00:00

Is there any tool or PowerShell script that can scan a PC for applications and determine if they use .NET and if so, which version?

We have 100+ PC's running software that has been installed at various times over the past 10 years. Some of these programs require .NET to run. Is there any way to scan all of the applications on a PC and show if they need .NET, and if they do, which version.

In order to comply with new security certification we need to uninstall all programs & add-ins (Java, Flash, .NET) that are no longer supported by the manufacturer. The problem we have is that there is no way to work out which programs use which version of .NET.

NOTE: We already know how to find out which versions of .NET are installed on a machine. What we need to know is which programs use .NET and which version.

Any help would be appreciated.

If we can't find a solution, than we will just have to uninstall the unsupported versions of .NET and wait for programs to fail!

.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,419 questions
.NET Runtime
.NET Runtime
.NET: Microsoft Technologies based on the .NET software framework.Runtime: An environment required to run apps that aren't compiled to machine language.
1,128 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Bruce (SqlWork.com) 57,166 Reputation points
    2022-03-29T15:59:28.867+00:00

    you might be interested in a professional tool like ndepend

    https://www.ndepend.com/features/

    but with google you can find many dependency tree builders that will answer your question. search or.net dependency tree or graph.


  2. Jiachen Li-MSFT 26,751 Reputation points Microsoft Vendor
    2022-03-30T02:36:07.013+00:00

    Hi @Mark Keogan ,
    There seems to be no way to check all the app's .net version dependencies simply by code or tooling.
    In some cases you can open the executable (.exe) in the Notepad application and search for 'Framework'.
    Or use dotPeek to load the application, it reveals the Net Framework version when you load a NET application using the program.
    Best Regards.
    Jiachen Li

    ----------

    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  3. Bruce (SqlWork.com) 57,166 Reputation points
    2022-04-06T17:07:58.257+00:00

    some thoughts.

    as the .net framework updates are in place, you really only need remove 2.0, which has been out of support since 2011.

    update all clients to 4.8 and 3.5 sp1 and you are supported to 2029.

    you can write a utility that does scan:

    https://learn.microsoft.com/en-us/dotnet/standard/assembly/file-format

    0 comments No comments