Free SmartAssembly alternative with bug reporting and dependency integration

I tried Smart Assembly and am very happy with it. The error reporting capabilities are great. Dependency integration was also very interesting. My question is: are there any free alternatives that work like Smart Assembly?

I tried Eazfuscator.NET and it was a great obfuscator, but I miss two of my favorites from Smart Assembly. Are there any free tools for reporting errors and dependency integration for the .NET Framework.

+3
source share
2 answers

Eazfuscator.NET , , Assembly Merging and Assembly Embedding. . CodePlex CrashReporter.NET

, .

. .

ILMerge. , , , ILMerge . ILMerge- , , Eazfuscator.NET.

, Eazfuscator.NET vs. direct ILMerge

Eazfuscator.NET Eazfuscator.NET Assistant. ILMerge, Eazfuscator.NET . ILMerge Eazfuscator.NET ILMerge , . ILMerge . Eazfuscator.NET ILMerge , ILMerge . .

.

, . .

IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "merge with XXXXXX.dll", Exclude = false)]

Visual Basic.NET ObfuscationSettings.vb :

Imports System
Imports System.Reflection

<Assembly: Obfuscation(Feature:="merge with XXXXXX.dll", Exclude:=False)> 

XXXXXX.dll , .

, :

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "merge with Assembly1.dll", Exclude = false)]
[assembly: Obfuscation(Feature = "merge with AnotherAssembly2.dll", Exclude = false)]

, . , - , . .

ILMerge

ILMerge. , ILMerge. .

ILMerge

IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "ilmerge custom parameters: <parameters>", Exclude = false)]

Visual Basic.NET ObfuscationSettings.vb :

Imports System
Imports System.Reflection

<Assembly: Obfuscation(Feature:="ilmerge custom parameters: <parameters>", Exclude:=False)> 

, . Eazfuscator.NET //ndebug , . - ILMerge .

. .

. , . . .

( )? . NGENed, (Windows Phone, Compact Framework ..). JIT- , . .

, . , , .

- , . ? , . NGENed, (Xbox, Windows Phone Compact Framefork). - ( , , ).

. , . , . , , - , .exe( .dll).

, . .

IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "embed XXXXXX.dll", Exclude = false)]

Visual Basic.NET ObfuscationSettings.vb :

Imports System
Imports System.Reflection

<Assembly: Obfuscation(Feature:="embed XXXXXX.dll", Exclude:=False)> 

XXXXXX.dll , .

!

.

Eazfuscator.NET , . , script:

[assembly: Obfuscation(Feature = @"embed $(InputDir)\Lib\AssemblyToEmbed.dll", Exclude = false)]

, :

[assembly: Obfuscation(Feature = "embed Assembly1.dll", Exclude = false)]
[assembly: Obfuscation(Feature = "embed AnotherAssembly2.dll", Exclude = false)]

. , . , , .

:

[assembly: Obfuscation(Feature = "embed [flags] XXXXXX.dll", Exclude = false)]

[flags] - , .

.

no_compress no_encrypt no_satellites load_from_file Eazfuscator.NET . Location System.Reflection.Assembly .

.

4.24.

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "embed [no_compress no_encrypt] XXXXXX.dll", Exclude = false)]

4.25. ;

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "embed [no_encrypt] XXXXXX.dll", Exclude = false)]

4.26. ;

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "embed XXXXXX.dll", Exclude = false)]

4.27. ;

using System;
using System.Reflection;

[assembly: Obfuscation(Feature = "embed satellites", Exclude = false)]

. , . . Location System.Reflection.Assembly . Location System.Reflection.Assembly . , .

? , Location , . -, Location , .

. EscapedCodeBase. . , .

using System;

class Program
{
    static string GetEulaPath()
    {
        var assembly = typeof(Program).Assembly;
        // string location = assembly.Location; // Please do not use this. This is a flawed approach
        string location = new Uri(assembly.EscapedCodeBase).LocalPath; // <-- Use this instead
        return Path.Combine(Path.GetDirectoryName(location), "EULA.rtf");
    }
}
+5

All Articles