无法在azure devops中构建asp.net应用程序

用户名

可以在本地构建应用程序,但是在尝试在Azureure Devops管道中构建时会显示以下错误

我已经安装了EntityFramework并在webconfig文件中添加了system.data.entity.design程序集。

请在这里找到管道

NuGet恢复任务

webapp\CaseDatabase.DataAccess\CaseAssignmentModule\CaseQueueDbAdapter.cs(10,19): Error CS0234: The type or namespace name 'Entity' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\CaseAssignmentModule\HoursEstDbAdapter.cs(4,19): Error CS0234: The type or namespace name 'Entity' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\CasesModule\CaseWorkflowDbAdapter.cs(2,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\ClientsAndContactsModule\ContactDefaultsDbAdapter.cs(5,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\ClientsAndContactsModule\InstructionLibraryDbAdapter.cs(4,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\DBEntityCoreModel\CaseDatabaseContext.cs(2,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\DBEntityCoreModel\ICaseDatabaseContext.cs(2,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\DBEntityCoreModel\ICaseDatabaseContext.cs(3,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\DBEntityCoreModel\ICaseDatabaseContext.cs(4,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
webapp\CaseDatabase.DataAccess\EntityRepository.cs(4,17): Error CS0234: The type or namespace name 'EntityFrameworkCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
梁美琳-MSFT

根据从@Stella共享的生成日志,此错误消息应由软件包还原路径引起。

首先,通过Nuget restore任务还原相关的程序包全部成功而且,所有需要的软件包都已还原。它的还原文件夹位置D:\a\1\s\webapp\Websites\packages与Nuget.config中定义的位置相同..\packages

Visual Studio Build日志中,有以下消息:

Considered "..\ThirdParty\NuGetPackages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll", but it didn't exist.
***
***
Considered "..\ThirdParty\NuGetPackages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll", but it didn't exist.
***
***
***

根据在Visual Studio Build任务中显示的这些消息,您可以看到它正在文件夹路径下查找包位置..\ThirdParty\NuGetPackages正常情况下,此路径由来控制<HintPath>... </HintPath>

现在,很容易知道引起的错误:在构建过程中找到的程序包位置与其在Nuget restore任务中实际恢复的程序包位置不匹配

通常,其默认位置应为..\packages\...,与中定义的默认位置相同Nuget.config我假设应该更改其本地存储库路径,然后HintPathcsproj文件中定义的路径也将自动更改。但是,在Nuget.config中,其程序包默认位置仍保持默认。这将导致在还原包时,它遵循中定义的位置Nuget.config但是在构建期间,由于它查找csproj定义...的软件包,因此构建无法知道实际的软件包还原位置。然后导致这些错误信息。


要解决此问题,有2个解决方案。

  • 在Visual Studio中重新安装软件包

运行以下命令以重新安装所有软件包,从而将所有软件包HintPath都更改为默认位置..\packages\...,可以与Nuget.config中定义的同步。

Update-Package -reinstall

此解决方案的此逻辑被撤销HintPath为默认位置,因此可以与中的定义保持同步Nuget.config

执行命令后,HintPath外观应如下所示:

在此处输入图片说明

  • 修改Nuget.config文件

第二溶液的逻辑是修改包的位置定义Nuget.config文件中。使它与同步HintPath,此时,还原的软件包的位置将与构建时软件包的位置相同。

将以下脚本添加到Nuget.config文件中:

<configuration>
  <config>
    <add key="repositoryPath" value="xxxx" />
  </config>
  ... 
</configuration>

只需尝试一种解决方案,然后在本地Visual Studio中构建即可。它成功后,然后将它推入天青DEVOPS,构建与以前相同的任务配置use nugetnuget restoreVS buildpublish artifacts

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure DevOps - 如何发布 ASP.NET 应用程序

Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

Azure DevOps Pipeline无法从Net Core 3.1应用程序生成单个文件exe

无法使用 ASP.NET 4.6.1 应用程序创建 Azure 存储队列消息

无法将ASP.NET Core 2.1 Angular应用程序部署到Azure

Azure App Service无法从VSTS运行Asp.Net Core应用程序

asp.net应用程序无法自动启动

托管后ASP.NET应用程序无法验证

无法使 ASP.Net Web 窗体应用程序超时

无法在 Firebase 中构建应用程序

缩短Azure Devops中Angular 8应用程序的生产构建时间

使用Azure DevOps构建电子应用程序失败

无法在DevOps Server中构建VB6应用程序

是否可以使用容器在 Azure 管道中构建 .NET WPF 应用程序?

无法在 Linux 中构建 .NET Core 控制台应用程序

出现错误,无法评估Azure Web应用程序应用程序中的表达式

尝试在azure应用程序中更新nodejs版本时出现问题。无法在Azure中为应用执行构建

基于GIT的asp.net Web应用程序无法部署到带有Typescript编译错误的Azure

无法连接托管在 Azure Web 应用程序上的安全 Asp.Net Core Web 套接字(使用 TLS)

我应该为ASP.NET Core应用程序选择哪种Azure应用程序服务?

ASP.NET 4.5在ASP.NET Core 2.0应用程序下将Azure Web App中的虚拟应用程序抛出502.5

Azure Service Fabric中ASP.NET Core应用程序中的WebpackDevMiddleware

在ASP.net Mvc应用程序的IIS中部署应用程序时,Crystal Report无法加载

无法在Windows操作系统下的Azure中创建新的.NET Core 3.1 Web应用程序

在哪个帐户下运行Azure Function应用程序中承载的.net控制台应用程序

尝试诊断Azure ASP.NET Core WebAPI应用程序中的内存泄漏

如何通过本地asp.net应用程序在Azure Key Vault中设置机密

Azure Blob上传在ASP .Net Core应用程序中不起作用

在Azure Web应用程序中显示ASP.NET 5错误页面