Если вы абсолютно уверены в этом, то вы можете сделать что-то подобное в вашем файле AssemblyInfo.cs:
#if DEBUG
[assembly: AssemblyTitle("MyAssemblyDebug")]
#else
[assembly: AssemblyTitle("MyAssembly")]
#endif
Тем не менее, это в значительной степени взломать. Кроме того, в документации MSDN совершенно ясно, что имя файла даже не учитывается при загрузке сборки, поэтому простое переименование не изменит общей идентичности вашей сборки.
Как упомянуто выше, это, как правило, будет плохой идеей, поскольку это только приведет к путанице и проблемам с обслуживанием. Если все, что вы делаете, это переименовываете файлы, выполняя операцию посткомпиляции:
переименование
"$ (ProjectDir) Bin \ Debug \ SomeAssembly.dll"
SomeAssemblyDebug.dll
Тогда вы на самом деле не изменили личность вашей сборки, а только имя файла. Вы можете назвать его Bob.dll, и он по-прежнему будет иметь ту же идентичность, что и CLR. Единственный раз, когда это имеет значение, это когда вы используете сборку со строгим именем, которая будет развернута в GAC. В этом случае вы не можете иметь имя файла, отличное от имени сборки.
Если вы действительно пытаетесь переименовать имя сборки, а не просто имя файла, у вас есть еще одна проблема, потому что теперь она полностью отличается от CLR.
Я думаю, вам лучше жить с уже действующими стандартами. Если вам нужно сделать что-то действительно странное, возможно, вам следует спросить себя, почему вы пытаетесь это сделать. Там может быть лучшее решение.