在 VS2019 (16.8.3) 中创建了一个新的 Function App,HTTP 触发器以连接到 Azure Redis 缓存。从 nuget 添加了 StackExchange.Redis 2.2.4。
local.settings.json 包含 RedisConnectionFromKeyVault 的键/值和来自门户访问键的主连接字符串。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"RedisConnectionFromKeyVault": "<<SNIP>>.redis.cache.windows.net:6380,password=<<SNIP>>,ssl=True,abortConnect=False"
}
}
Run Code Online (Sandbox Code Playgroud)
将以下行添加到默认功能代码中:
var connectionRedis = Environment.GetEnvironmentVariable("RedisConnectionFromKeyVault", EnvironmentVariableTarget.Process);
var cache = ConnectionMultiplexer.Connect(connectionRedis).GetDatabase();
Run Code Online (Sandbox Code Playgroud)
当我在本地运行并触发函数应用程序时,我在 ConnectionMultiplexer.Connect 调用中收到以下异常。
System.Private.CoreLib: Exception while executing function: Function1. StackExchange.Redis: Could not load file or assembly 'System.IO.Pipelines, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
at StackExchange.Redis.ConnectionMultiplexer.Connect(ConfigurationOptions configuration, TextWriter log) in /_/src/StackExchange.Redis/ConnectionMultiplexer.cs:line 1032
at StackExchange.Redis.ConnectionMultiplexer.Connect(String configuration, TextWriter …Run Code Online (Sandbox Code Playgroud) 我正在将Visual Studio Team Services(在visualstudio.com上)与运行VS2015的本地生成代理一起使用。在我们的解决方案中,有3个网站使用文件系统发布配置文件到开发,测试,演示环境,并应用了配置转换。
从VS2015 IDE本地运行时,这些功能可以正常工作。尝试从Team Services在线的构建定义中的“ Visual Studio Build ”任务发布相同的配置文件时,遇到以下错误:
msbuild命令行尚不支持此特定的WebPublishMethod(FileSystem)。请使用Visual Studio进行发布。
为任务上的MSBuild参数设置了以下内容。
/ p:DeployOnBuild = true /p:OutDir=$(build.artifactstagingdirectory)/ p:PublishProfile = TestProfile
花了几个小时的时间进行谷歌搜索,我找不到找到解决错误的方法。
我们正在尝试做的是将网站部署到文件位置,并为适当的环境应用配置转换。不能使用Webdeploy或FTP,只能使用文件系统部署。
是否可以通过Team Services指导的本地构建代理使用配置转换来获取文件系统发布配置文件?还是我需要以其他方式解决这个问题?
建议的重复项不会遇到相同的问题或错误消息。在该问题中,发布配置文件有效,只是不提供op期望的文件,此问题与此处报告的错误有关。