我正在编写MyActivity.dll.config.框架4.7.1中的一些遗留代码,并试图从.Net访问应用程序设置所述dll正在由Microsoft Workflow Foundations文件引用和使用。当执行下面的代码时,它返回一个空字符串。
var string = ConfigurationManager.AppSettings["SMTPServer"]我对一个文本文件做了一些日志记录,并验证它是空白的。我还检查了上述配置文件是否位于与MyActivity.dll.相同的目录中。最后,我在代码中检查并记录了程序集的路径,它位于一个奇怪的位置(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\7d28ecb5\9e49f345\assembly\dl3\1e60f07b\5ff4cf31_9738d801\MyActivity.dll).。对于grins,我还在其中放置了一个配置文件的副本,没有发生什么不同的事情。下面是配置文件的一个片段。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="SMTPServer" value="smtp.office365.com"/>
</appSettings>
</configuration>任何人都有可能解决这一问题的任何线索。事先非常感谢!
发布于 2022-03-16 07:07:35
请检查我创建的示例。我的应用程序名是ConsolApp2。
我在app.config文件中添加了配置
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings>
<add key="SMTPServer" value="smtp.office365.com"/>
</appSettings>
</configuration>编译后,我在ConsoleApp2.exe.config文件中得到了这个
要获得这个字符串,您必须使用System.Configuration;
使用下面的代码,您将得到配置字符串
static void Main(string[] args)
{
string SMTPserver = ConfigurationManager.AppSettings["SMTPServer"];
}谢谢
发布于 2022-03-16 15:25:39
我发现了问题。这个工作流是由一个第三方web应用程序使用的,而这些密钥需要属于web.config文件。向保罗辛内马致敬,感谢他为我指明正确的方向!
https://stackoverflow.com/questions/71489225
复制相似问题