繁体   English   中英

在编译时从环境变量设置值

[英]Set Values From Environment Variables at Compile Time

我需要在dll中包含有效的API密钥,而不需要将API密钥放入我的团队的版本控制中。 我承认字符串可以从dll中解压缩,但这不是一个真正的问题,因为这是一个内部工具。

目前,我已将.resx文件添加到包含API密钥的.csproj文件中。 这明确地通过.gitignore从版本控制中排除。 但是,我不想依赖.gitignore作为安全措施。

我希望能够做的是在编译时读取环境变量并将正确的值注入const属性或其他东西。

在.NET中有可接受的方法吗?

实现使用环境变量的目标的一种方法可能是添加运行脚本以将环境变量写入文件的预构建步骤,例如:

预建步骤:

echo namespace Foo ^{ public class Bar ^{ public const string Key = ^"%secretkey%^"^;^}^} > "$(ProjectDir)test.cs"

然后是一个清理该文件的构建后步骤:

构建后步骤

echo namespace Foo ^{ public class Bar ^{ public const string Key = ^"*****^"^;^}^} > "$(ProjectDir)test.cs"

我仍然将test.cs放在.gitignore中以防万一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM