在生成代理上使用NuGet中的"Microsoft.NETCore.UniversalWindowsPlatf



我在Azure DevOps托管的构建代理(Windows-2022,版本20220131.1(上构建了一个UWP应用程序。当然,我使用Microsoft.NETCore.UniversalWindowsPlatformNuGet包。只要我的应用程序有F#代码,我就必须破解GateKeeper.xml并在其中启用F#。所以我使用PowerShell来完成

foreach ($file in gci -Recurse 'C:Users*.nugetpackages*.net.native.compiler**GatekeeperConfig.xml')
{
(gc $file.FullName) -replace '<FSharpRule on="true">','<FSharpRule on="false">' | sc $file.FullName
}

但对于6.2.12版本,Microsoft.NETCore.UniversalWindowsPlatform的内容存在于C:Program Files (x86)Microsoft SDKsUWPNuGetPackagesmicrosoft.netcore.universalwindowsplatform6.2.12中,在那里我没有更改构建代理上任何内容的管理员权限。

所以我想知道是否可以强制MSBuild始终直接使用NuGet,而不使用程序文件中缓存的包?

如果代理和UWP遵守"正常"NuGet标准,您可以尝试如下所示的NuGet.config:

<config>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<!-- any additional sources you need-->
</packageSources>
<fallbackPackageFolders>
<clear />
</fallbackPackageFolders>
</config>

不过请记住,这可能会破坏代理上的缓存设施

相关内容

  • 没有找到相关文章

最新更新