gpt4 book ai didi

c# - 隐藏开源项目的私有(private)细节

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:14 28 4
gpt4 key购买 nike

我有一个 .net github 项目,它基本上是一个 Web API 的包装器。在测试项目中,我使用 API key 调用 API。我需要将此 key 保密,如何在 Visual Studio 项目中完成此操作?

在其他一些项目中,例如 python,我可以让 git 忽略文件 (config.py) 并使用类似 config.example.py 的文件。但在 visual studio 的情况下,由于缺少文件 Config.cs,项目将无法编译。解决这个问题的正确方法是什么?我正在考虑使用相同的方法忽略文件​​并让他们执行构建脚本,该脚本应将 Config.example.cs 重命名为 Config.cs?

最佳答案

这非常适合 .config 文件。根据它是 Web 应用程序还是控制台应用程序,您的项目中将有一个 web.config 或 app.config 文件。

您可以使用 appSettings 部分来存储您的 API key 。

为了使事情变得更简单,您实际上可以从另一个文件读取此部分,即:specialappsettings.config,然后从您的存储库中忽略该单个文件。

修改您的web.config(或app.config):

<configuration>
<appSettings file="specialappsettings.config">
</appSettings>
<system.web>
<!-- standard web settings go here -->
</system.web>
</configuration>

创建一个新的 specialappsettings.config 文件:

<appSettings>
<add key="APIKey" value="YourApiKeyValue" />
<add key="AnotherKey" value="AnotherValue" />
</appSettings>

这可以在您的代码中通过以下方式访问:

var apiKey = ConfigurationManager.AppSettings["APIKey"];

注意事项:

  • 您可以将您的设置保留在原始 web.config 文件中好吧,但这可以让你忽略来自的特定设置文件您的 git 存储库而不影响项目的其余部分必要的配置详细信息。
  • 相同的“ key ”可以保存在任一文件,但外部文件将覆盖原始文件web.config 文件值。

关于c# - 隐藏开源项目的私有(private)细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290685/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com