How to enable assembly bind failure logging (Fusion) in .NET

Add the following values to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion Add: DWORD ForceLog set value to 1 DWORD LogFailures set value to 1 DWORD LogResourceBinds set value to 1 DWORD EnableLog set value to 1 String LogPath set value to folder for logs (e.g. C:\FusionLog\) Make sure you include the backslash after the folder name and that the Folder … Read more

How do I get the path of the assembly the code is in?

Note: Assembly.CodeBase is deprecated in .NET Core/.NET 5+: https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.codebase?view=net-5.0 Original answer: I’ve defined the following property as we use this often in unit testing. public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path); } } The Assembly.Location property sometimes gives you some … Read more

How do you sort a dictionary by value?

Use LINQ: Dictionary<string, int> myDict = new Dictionary<string, int>(); myDict.Add(“one”, 1); myDict.Add(“four”, 4); myDict.Add(“two”, 2); myDict.Add(“three”, 3); var sortedDict = from entry in myDict orderby entry.Value ascending select entry; This would also allow for great flexibility in that you can select the top 10, 20 10%, etc. Or if you are using your word frequency … Read more

What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?

AssemblyVersion Where other assemblies that reference your assembly will look. If this number changes, other assemblies must update their references to your assembly! Only update this version if it breaks backward compatibility. The AssemblyVersion is required. I use the format: major.minor (and major for very stable codebases). This would result in: [assembly: AssemblyVersion(“1.3”)] If you’re … Read more

Reading settings from app.config or web.config in .NET

For a sample app.config file like below: <?xml version=”1.0″ encoding=”utf-8″ ?> <configuration> <appSettings> <add key=”countoffiles” value=”7″ /> <add key=”logfilelocation” value=”abc.txt” /> </appSettings> </configuration> You read the above application settings using the code shown below: using System.Configuration; You may also need to also add a reference to System.Configuration in your project if there isn’t one already. … Read more

Sending email in .NET through Gmail

Be sure to use System.Net.Mail, not the deprecated System.Web.Mail. Doing SSL with System.Web.Mail is a gross mess of hacky extensions. using System.Net; using System.Net.Mail; var fromAddress = new MailAddress(“from@gmail.com”, “From Name”); var toAddress = new MailAddress(“to@example.com”, “To Name”); const string fromPassword = “fromPassword”; const string subject = “Subject”; const string body = “Body”; var smtp … Read more

Is there a way to check if a file is in use?

Updated NOTE on this solution: Checking with FileAccess.ReadWrite will fail for Read-Only files so the solution has been modified to check with FileAccess.Read. ORIGINAL: I’ve used this code for the past several years, and I haven’t had any issues with it. Understand your hesitation about using exceptions, but you can’t avoid them all of the … Read more

How do I force my .NET application to run as administrator?

You’ll want to modify the manifest that gets embedded in the program. This works on Visual Studio 2008 and higher: Project + Add New Item, select “Application Manifest File”. Change the <requestedExecutionLevel> element to: <requestedExecutionLevel level=”requireAdministrator” uiAccess=”false” /> The user gets the UAC prompt when they start the program. Use wisely; their patience can wear out quickly.

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)