Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms NuGet如何决定将包目录放在何处?_Xamarin.forms_Azure Devops_Nuget_Azure Pipelines - Fatal编程技术网

Xamarin.forms NuGet如何决定将包目录放在何处?

Xamarin.forms NuGet如何决定将包目录放在何处?,xamarin.forms,azure-devops,nuget,azure-pipelines,Xamarin.forms,Azure Devops,Nuget,Azure Pipelines,我正在处理一些Xamarin表单项目和生成多目标Xamarin包的项目。我花了一天的时间来努力让其中一个项目在Azure DevOps中正常工作,我放弃了 当我在本地处理一个特定的单元测试项目时,它会设置以下目录结构: + ProjectName + bin + obj + ... + packages + <nuget packages here> + ProjectName + bin + obj + packages

我正在处理一些Xamarin表单项目和生成多目标Xamarin包的项目。我花了一天的时间来努力让其中一个项目在Azure DevOps中正常工作,我放弃了

当我在本地处理一个特定的单元测试项目时,它会设置以下目录结构:

+ ProjectName
    + bin
    + obj
    + ...
+ packages
    + <nuget packages here>
+ ProjectName
    + bin
    + obj
    + packages
    + ...
很明显,Azure DevOps对
packages
文件夹的创建位置有不同的想法。如果我将
。\..
编辑为
。\
,一切正常。这与许多项目是一致的。在我的其他几个项目中,所有.csproj文件都使用
。\
,它们具有以下目录结构:

+ ProjectName
    + bin
    + obj
    + ...
+ packages
    + <nuget packages here>
+ ProjectName
    + bin
    + obj
    + packages
    + ...
我在这两个
.csproj
中都找不到任何似乎表明其中任何一个正在指示nuget做任何不同的事情的东西。但每个人的表现都非常不同。我唯一的猜测是,我有一些超级隐藏的本地配置,用于更改默认行为的“坏”配置,而该文件不在源代码管理中,所以DevOps使用“真正的”默认配置

是什么导致了这一切

有些人要求.yml看看我们是如何恢复软件包的:我相信就是这样:

  - task: NuGetToolInstaller@1
    displayName: "Install nuget"
    inputs:
      versionSpec: '4.4.1'

  - task: NuGetCommand@2
    displayName: 'restore $(solution)'
    inputs:
      restoreSolution: '$(solution)'
      vstsFeed: "$(packageFeedName)"

我不是团队中的devops成员,但我对yml略知一二<代码>$(解决方案)只是我们的解决方案文件的路径,包提要名称就是它所说的名称。它们对我来说非常简单。

您有恢复软件包的步骤吗?您可以共享您的yml文件吗?我认为它使用解决方案根目录(当重新格式化解决方案时),或者在还原单个项目时使用项目根目录(相对于packages.config)。你如何在Azure管道中恢复你的NuGet软件包。
  - task: NuGetToolInstaller@1
    displayName: "Install nuget"
    inputs:
      versionSpec: '4.4.1'

  - task: NuGetCommand@2
    displayName: 'restore $(solution)'
    inputs:
      restoreSolution: '$(solution)'
      vstsFeed: "$(packageFeedName)"