VS 2019 Web 部署期间的 TransformAppSettings 失败

Gra*_*han 4 visual-studio .net-core asp.net-core visual-studio-2019

我有一个在本地开发并使用本地数据库运行的项目。

我有一个在服务器上运行的该项目的生产版本,其数据库托管在另一台服务器上。

我已经能够将我的项目多次直接从 VS 2019 Web Deploy 上传到我的托管服务器,没有任何问题。现在我收到以下错误:

Error MSB4018: The "TransformAppSettings" task failed unexpectedly.
System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.NET.Sdk.Publish.Tasks.AppSettingsTransform.UpdateDestinationConnectionStringEntries(String destinationAppSettingsFilePath, ITaskItem[] destinationConnectionStrings)
at Microsoft.NET.Sdk.Publish.Tasks.TransformAppSettings.TransformAppSettingsInternal()
at Microsoft.NET.Sdk.Publish.Tasks.TransformAppSettings.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
Run Code Online (Sandbox Code Playgroud)

从上次正常运行开始,我就没有在我的发布配置文件中触及我的连接字符串。

知道是什么原因造成的吗?

Gra*_*han 10

此问题是由于 appsettings.Development.json 中没有我的连接字符串引起的。

它在 appsettings.json 中,但不在开发设置中。

我在 appsettings.Development.json 中添加了以下内容:

"ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=xxx;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
Run Code Online (Sandbox Code Playgroud)

  • 我遇到了 appsettings.json 的相反问题。我需要为连接字符串放置一个空字符串,然后由特定环境替换。 (3认同)