Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用常量创建DLL程序集_C#_Assemblies_Constants_.net Assembly - Fatal编程技术网

C# 使用常量创建DLL程序集

C# 使用常量创建DLL程序集,c#,assemblies,constants,.net-assembly,C#,Assemblies,Constants,.net Assembly,我有一个解决方案,其中包含大约3个项目。这3个项目共享一些公共常量,到目前为止,我一直在3个项目之间复制和粘贴这些常量 我想做的是创建一个包含这些常量的程序集,并引用另一个项目中的程序集。问题是,我想我记得有一次在某个地方读到,当编译项目时,常量值只是从程序集“复制并粘贴”到引用它的程序集中。这意味着,如果我想更改其中一个常量的值,我不能只更改一个程序集。我必须重新编译整个解决方案 请任何人确认这是否正确,如果是,请告诉我执行此操作的首选和替代方法,以便我可以更改程序集中的常量?不要声明常量值,

我有一个解决方案,其中包含大约3个项目。这3个项目共享一些公共常量,到目前为止,我一直在3个项目之间复制和粘贴这些常量

我想做的是创建一个包含这些常量的程序集,并引用另一个项目中的程序集。问题是,我想我记得有一次在某个地方读到,当编译项目时,常量值只是从程序集“复制并粘贴”到引用它的程序集中。这意味着,如果我想更改其中一个常量的值,我不能只更改一个程序集。我必须重新编译整个解决方案


请任何人确认这是否正确,如果是,请告诉我执行此操作的首选和替代方法,以便我可以更改程序集中的常量?

不要声明
常量
值,而是在静态类中声明实际值

public static readonly int someConst = 6;
这将迫使程序在链接DLL中更改更新后的常量时使用该常量

值得一提的是,如果您希望在运行时而不是编译时执行此操作,那么某种配置文件可能是更好的解决方案

进一步阅读

这取决于您如何部署应用程序。如果要将所有内容合并到一个可执行文件中,那么显然必须重新编译整个文件。如果您只是引用一个外部.dll,则只需用新常量替换该.dll即可。