我想根据产品名称更改下面屏幕截图中显示的文字。我知道,该文本来自Assembly.Title属性,它是一个只读属性,因此无法在运行时更改。那么如何在编译时更改它? 我们将应用程序出售给多个客户,应用程序的名称应根据客户进行更改。我们为每个客户配置了一个配置。因此,在构建时,应根据配置选择程序集标题。
有任何建议如何解决这个问题?
更新
我尝试了评论中给出的一些建议,我发现了以下内容:
使用项目属性中的程序集信息弹出窗口设置文本或直接在AssemblyInfo.cs文件中更改它后,它在任务栏中正确显示。
如果我再次更改它,更改的文本不会显示在任务栏中,即。它始终显示第一次设置的文本。
我尝试删除文件,甚至重新启动系统,但它没有帮助。
然后我重命名了文件(即exe文件),然后正确显示了已更改的文本。
如果我将其重命名为原始名称,则会显示第一个设置文本。
原因可能是什么?
答案 0 :(得分:3)
在AssemblyInfo.cs中(在VisualStudio项目的“属性”下),您将找到在如下属性中指定的程序集标题:
[assembly: AssemblyTitle("MyAssembly")]
您应该能够使用编译器常量包装它:
#if SOME_MODE
[assembly: AssemblyTitle("SomeName")]
#else
[assembly: AssemblyTitle("ADifferentName")]
#endif