();
30 | var files = Directory.GetFiles(Server.MapPath("~/bin"), "*.dll", SearchOption.AllDirectories);
31 | foreach (var file in files)
32 | {
33 | try
34 | {
35 | var references = Assembly.Load(System.IO.File.ReadAllBytes(file)).GetReferencedAssemblies();
36 | var foundTelerik =
37 | references.Any(r => r.FullName.StartsWith("Telerik", true, CultureInfo.InvariantCulture));
38 | if (!foundTelerik)
39 | continue;
40 |
41 | foundAssemblies.Add(Path.GetFileName(file));
42 | }
43 | catch (Exception ex)
44 | {
45 | model.AssemblyAnalysisErrors.Add(new AssemblyAnalysisError
46 | {AssemblyName = Path.GetFileName(file), ErrorMessage = ex.Message});
47 | }
48 | }
49 |
50 | //Filter out the known ones
51 | if (foundAssemblies.Contains("Telerik.Web.UI.Skins.dll"))
52 | {
53 | foundAssemblies.Remove("Telerik.Web.UI.Skins.dll");
54 | model.ExpectedAssemblies.Add("Telerik.Web.UI.Skins.dll");
55 | }
56 | if (foundAssemblies.Contains("DotNetNuke.Website.Deprecated.dll"))
57 | {
58 | foundAssemblies.Remove("DotNetNuke.Website.Deprecated.dll");
59 | model.ExpectedAssemblies.Add("DotNetNuke.Website.Deprecated.dll");
60 | }
61 | if (foundAssemblies.Contains("DotNetNuke.Web.Deprecated.dll"))
62 | {
63 | foundAssemblies.Remove("DotNetNuke.Web.Deprecated.dll");
64 | model.ExpectedAssemblies.Add("DotNetNuke.Web.Deprecated.dll");
65 | }
66 | if (foundAssemblies.Contains("DotNetNuke.Modules.DigitalAssets.dll"))
67 | {
68 | foundAssemblies.Remove("DotNetNuke.Modules.DigitalAssets.dll");
69 | model.ExpectedAssemblies.Add("DotNetNuke.Modules.DigitalAssets.dll");
70 | }
71 |
72 | if (foundAssemblies.Count > 0)
73 | model.UnexpectedAssemblies.AddRange(foundAssemblies);
74 |
75 | return View(model);
76 | }
77 | }
78 | }
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/IowaComputerGurus.Dnn.TelerikIdentifier.dnn:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Telerik Identifier
5 | A module to help identify possible Telerik dependencies
6 |
7 |
8 | IowaComputerGurus Inc.
9 | IowaComputerGurus Inc.
10 | http://www.iowacomputergurus.com
11 | webmaster@iowacomputergurus.com
12 |
13 |
14 |
15 |
16 | 09.03.02
17 |
18 |
19 |
20 |
21 | DesktopModules/MVC/IowaComputerGurus/TelerikIdentifier
22 |
23 | Resources.zip
24 |
25 |
26 |
27 |
28 |
29 |
30 | IowaComputerGurus.Dnn.TelerikIdentifier
31 | IowaComputerGurus/TelerikIdentifier
32 |
33 |
34 |
35 |
36 | Telerik Identifier
37 | 0
38 |
39 |
40 |
41 | IowaComputerGurus.Dnn.TelerikIdentifier.Controllers/Content/Index.mvc
42 | False
43 |
44 | View
45 |
46 |
47 | False
48 | 0
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | bin
59 |
60 | IowaComputerGurus.Dnn.TelerikIdentifier.dll
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/ManifestAssets/License.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 IowaComputerGurus, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/ManifestAssets/ReleaseNotes.txt:
--------------------------------------------------------------------------------
1 | Version 01.00.01
2 | Added additional support to handle improperly constructed module assemblies.
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/Models/TelerikAnalysisModel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace IowaComputerGurus.Dnn.TelerikIdentifier.Models
4 | {
5 | public class TelerikAnalysisModel
6 | {
7 | public bool AnalysisComplete { get; set; }
8 | public string ErrorMessage { get; set; }
9 | public List ExpectedAssemblies { get; set; } = new List();
10 | public List UnexpectedAssemblies { get; set; } = new List();
11 | public List AssemblyAnalysisErrors { get; set; } = new List();
12 | }
13 |
14 | public class AssemblyAnalysisError
15 | {
16 | public string AssemblyName { get; set; }
17 | public string ErrorMessage { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | /*
2 | ' Copyright (c) 2006-2012 IowaComputerGurus Inc.
3 | ' All rights reserved.
4 | '
5 | ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
6 | ' TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
7 | ' THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
8 | ' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
9 | ' DEALINGS IN THE SOFTWARE.
10 | '
11 | */
12 |
13 | using System;
14 | using System.Reflection;
15 | using System.Runtime.InteropServices;
16 |
17 | //
18 | // General Information about an assembly is controlled through the following
19 | // set of attributes. Change these attribute values to modify the information
20 | // associated with an assembly.
21 | //
22 | [assembly: AssemblyTitle("DNN Telerik Identifier")]
23 | [assembly: AssemblyDescription("A reference inspection module.")]
24 | [assembly: AssemblyConfiguration("")]
25 | [assembly: AssemblyCompany("")]
26 | [assembly: AssemblyProduct("")]
27 | [assembly: AssemblyCopyright("2020 IowaComputerGurus Inc.")]
28 | [assembly: AssemblyTrademark("")]
29 | [assembly: AssemblyCulture("")]
30 | [assembly: ComVisible(false)]
31 | //
32 | // Version information for an assembly consists of the following four values:
33 | //
34 | // Major Version
35 | // Minor Version
36 | // Build Number
37 | // Revision
38 | //
39 | // You can specify all the values or you can default the Revision and Build Numbers
40 | // by using the '*' as shown below:
41 |
42 | [assembly: AssemblyVersion("01.00.00.*")]
43 | [assembly: AssemblyDelaySign(false)]
44 | [assembly: AssemblyKeyFile("")]
45 | [assembly: AssemblyKeyName("")]
46 |
47 |
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/TelerikIdentifier.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10.0
6 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
7 | 3.5
8 |
9 |
10 |
11 |
12 |
13 | Debug
14 | AnyCPU
15 | 9.0.30729
16 | 2.0
17 | {8356DA12-E259-4E53-A7F5-71821B8B513C}
18 | {349c5851-65df-11da-9384-00065b846f21};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
19 | Library
20 | IowaComputerGurus.Dnn.TelerikIdentifier
21 | IowaComputerGurus.Dnn.TelerikIdentifier
22 |
23 |
24 | v4.6.2
25 |
26 |
27 | true
28 | full
29 | DEBUG;TRACE
30 | bin\
31 |
32 |
33 | 1
34 | false
35 |
36 |
37 | pdbonly
38 | TRACE
39 | true
40 | bin\
41 |
42 |
43 | false
44 |
45 |
46 |
47 | ..\packages\DotNetNuke.Core.9.3.2\lib\net45\DotNetNuke.dll
48 |
49 |
50 | ..\packages\DotNetNuke.Web.9.3.2\lib\net45\DotNetNuke.Web.dll
51 |
52 |
53 | ..\packages\DotNetNuke.Web.Client.9.3.2\lib\net45\DotNetNuke.Web.Client.dll
54 |
55 |
56 | ..\packages\DotNetNuke.Web.Mvc.9.3.2\lib\net45\DotNetNuke.Web.Mvc.dll
57 |
58 |
59 | ..\packages\DotNetNuke.Web.9.3.2\lib\net45\DotNetNuke.WebUtility.dll
60 |
61 |
62 | ..\packages\DotNetNuke.Core.9.3.2\lib\net45\Microsoft.ApplicationBlocks.Data.dll
63 |
64 |
65 | ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
66 |
67 |
68 | ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll
69 |
70 |
71 |
72 |
73 |
74 |
75 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.Helpers.dll
84 |
85 |
86 | ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll
87 |
88 |
89 | ..\packages\Microsoft.AspNet.Mvc.5.1.3\lib\net45\System.Web.Mvc.dll
90 |
91 |
92 | ..\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\System.Web.Razor.dll
93 |
94 |
95 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.dll
96 |
97 |
98 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Deployment.dll
99 |
100 |
101 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Razor.dll
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 | True
164 |
165 |
166 |
167 |
168 |
169 | zip
170 | IowaComputerGurus.Dnn.TelerikIdentifier
171 | BuildScripts
172 |
173 |
174 |
175 |
176 |
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/Views/Content/Index.cshtml:
--------------------------------------------------------------------------------
1 | @inherits DotNetNuke.Web.Mvc.Framework.DnnWebViewPage
2 |
3 | @if (Model.AnalysisComplete)
4 | {
5 | Telerik Dependency Report
6 | if (Model.UnexpectedAssemblies.Count == 0)
7 | {
8 |
9 | Success! No unexpected dependencies on Telerik were discovered. You should have a reasonable expectation of being safe to uninstall Telerik per the 9.8.0 instructions.
10 |
11 | }
12 | else
13 | {
14 |
15 | WARNING! Dependencies on Telerik were discovered in assemblies that will NOT be addressed by un-installing per the instructions with 9.8.0. The list below includes all.
16 |
17 |
18 |
19 | @foreach (var item in Model.UnexpectedAssemblies)
20 | {
21 | - @item
22 | }
23 |
24 | }
25 |
26 | if (Model.AssemblyAnalysisErrors.Count > 0)
27 | {
28 | Unexpected Errors Encountered!
29 |
30 |
31 | During processing we were unable to view the dependencies for the following assemblies. You will need to manually verify any Telerik dependencies of these items.
32 |
33 |
34 |
35 | @foreach (var item in Model.AssemblyAnalysisErrors)
36 | {
37 | - @item.AssemblyName (@item.ErrorMessage)
38 | }
39 |
40 | }
41 |
42 |
43 | This tool is provided AS-IS and no guarantee is provided, it MIGHT not be able to identify all possible dependencies that could cause issues.
44 |
45 | }
46 | else
47 | {
48 |
49 | You must be a host user to see results.
50 |
51 | }
--------------------------------------------------------------------------------
/src/IowaComputerGurus.Dnn.TelerikIdentifier/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/TelerikIdentifier.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30517.126
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TelerikIdentifier", "IowaComputerGurus.Dnn.TelerikIdentifier\TelerikIdentifier.csproj", "{8356DA12-E259-4E53-A7F5-71821B8B513C}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AssemblyLocatorTestHarness", "AssemblyLocatorTestHarness\AssemblyLocatorTestHarness.csproj", "{5AF021FD-225A-4223-973C-C986B316242F}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Release|Any CPU = Release|Any CPU
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {8356DA12-E259-4E53-A7F5-71821B8B513C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {8356DA12-E259-4E53-A7F5-71821B8B513C}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {8356DA12-E259-4E53-A7F5-71821B8B513C}.Release|Any CPU.ActiveCfg = Release|Any CPU
19 | {8356DA12-E259-4E53-A7F5-71821B8B513C}.Release|Any CPU.Build.0 = Release|Any CPU
20 | {5AF021FD-225A-4223-973C-C986B316242F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {5AF021FD-225A-4223-973C-C986B316242F}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {5AF021FD-225A-4223-973C-C986B316242F}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {5AF021FD-225A-4223-973C-C986B316242F}.Release|Any CPU.Build.0 = Release|Any CPU
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {374A2EBA-0D28-4DD5-A8E2-747082F67771}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------