簡體   English   中英

Visual Studio無法發布

[英]Visual Studio cannot publish

我嘗試了一個新項目來確認我沒有犯任何錯誤,但Visual Studio 2019不會發布任何點網核心項目。 以下是我遇到的錯誤...非常感謝您的幫助...

嚴重性代碼說明項目文件行抑制狀態錯誤“ TransformAppSettings”任務意外失敗。 System.IO.FileNotFoundException:無法加載文件或程序集“ Newtonsoft.Json,版本= 10.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其依賴項之一。 該系統找不到指定的文件。 文件名:Microsoft.NET上的'Newtonsoft.Json,版本= 1.0.0.0.0,文化=中性,PublicKeyToken =30ad4fe6b2a6aeed'。Microsoft.NET上的文件名:String destinationAppSettingsFilePath,ITaskItem [] destinationConnectionStrings。 Microsoft的Microsoft.NET的Sdk.Publish.Tasks.TransformAppSettings.TransformAppSettingsInternal()(Microsoft的Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()處的Sdk.Publish.Tasks.TransformAppSettings.TransformAppSettingsInternal()。 Build.BackEnd.TaskBuilder.d__26.MoveNext()

WRN:程序集綁定日志記錄已關閉。 要啟用程序集綁定失敗日志記錄,請將注冊表值[HKLM \\ Software \\ Microsoft \\ Fusion!EnableLog](DWORD)設置為1。注意:程序集綁定失敗日志記錄會降低性能。 要關閉此功能,請刪除注冊表值[HKLM \\ Software \\ Microsoft \\ Fusion!EnableLog]。 項目名稱X 0

這是我的項目文件

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
      <TargetFramework>netcoreapp3.0</TargetFramework>
      <UserSecretsId>aspnet-ProjectNameX-A0D4A38F-C3FA-4FD3-8EBC-0F2201FBCD57</UserSecretsId>
      <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
      <DockerfileContext>..\..\..</DockerfileContext>
  </PropertyGroup>


  <ItemGroup>
      <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.0.0-preview6.19307.2" />
      <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0-preview6.19307.2" />
      <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0.0-preview6.19307.2" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview6.19304.10" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview6.19304.10" />
      <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.7.12" />
  </ItemGroup>

在深入Visual Studio文件夾時,我發現了這個...

Visual Studio文件夾中的Nuget文件夾,帶有Newtonsoft.Json dll文件

請檢查您的解決方案中是否引用了Newtonsoft.Json 似乎解決方案無法找到它。

下面的鏈接顯示了如何添加它。

https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio

您可以嘗試使用其他Visual Studio 2019實例發布嗎? 當然沒有預覽版。

該錯誤與您的項目無關。 錯誤消息“很明顯”表明Microsoft.NET.Sdk.Publish.Tasks.TransformAppSettings.TransformAppSettingsInternal()試圖訪問Newtonsoft.Json。 這顯然不是您的代碼。

我覺得這很奇怪,因為Microsoft.NET.Sdk.Publish.Tasks.dllNewtonsoft.Json.dll位於同一目錄(請檢查c:\\ program files \\ dotnet \\ sdk),並且應該針對相同版本。 您可以使用ILSpy之類的工具進行確認,以查看Newtonsoft.Json的程序集版本是什么以及發布任務dll具有的程序集引用。 您還可以使用Fusion Logs更好地了解.NET用於嘗試加載dll的路徑和dll,以及為何未使用具有匹配文件名的任何dll。 但是我不會在這里編寫有關使用融合日志的教程。

無論如何,了解其發生的原因並不能幫助您解決它。 您真正能做的就是確保您使用的是最新的SDK,如果沒有,請安裝最新版本,如果問題仍然存在,請使用Visual Studio“報告問題”工具讓.NET Core團隊了解這一點。

我遇到了類似的問題。

在程序包管理器控制台中,執行: Update-Package –reinstall Newtonsoft.Json

盡管您尚未在.csproj中添加程序包引用。 打開obj文件夾中的project.assets.json文件,搜索Newtonsoft.Json您將找到所引用的真實版本。

因此,只需檢查綁定重定向是否可以提供幫助。 如果不是,請檢查是否在創建新的.net core空Web應用程序時仍然存在此問題。 然后將其發布以根據結果是否成功找到問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM