Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Alerted Snail

Unoptimized Assembly Detector

build NuGet

NuGet package that detects when assemblies compiled without the -optimized flag are added to a project and warns you about it.

How does it work?

This project hooks into the build process and detects if any referenced assembly was compiled in Debug mode.

UnoptimizedAssemblyDetector in action

Add to your project:

  <PackageReference Include="UnoptimizedAssemblyDetector" Version="0.1.1" PrivateAssets="All" />


It's surprising to many that dotnet publish and dotnet pack compile assemblies in debug mode. This means that unless you've specified -c release, you're building .NET assemblies without the -optimize compiler flag.

With this package, you can get warned if one of your dependencies is being built in Debug mode and published to It can warn any referened assembly, not only added through NuGet.

Now that you know about it, you can communicate to the author of the dependency. Wait until a fix is shipped, you can ignore the warning for said package, roll back to an older version or chose another dependency.

I wrote a blog post that goes into more details on the topic.