Visual studio Xamarin生成在windows docker容器内失败(_ComputeAndRoidResourcePath失败)

Visual studio Xamarin生成在windows docker容器内失败(_ComputeAndRoidResourcePath失败),visual-studio,xamarin,xamarin.forms,xamarin.android,Visual Studio,Xamarin,Xamarin.forms,Xamarin.android,我有一个win docker容器,其中安装了visual studio 2019和xamarin组件。 当我运行“msbuild my solution.sln”/t:Build/p:Configuration=“Release”/p:androidsdkddirectory=“C:\Android”时,我收到以下错误: "_ComputeAndroidResourcePaths: Creating directory "obj\Release\100\res\&

我有一个win docker容器,其中安装了visual studio 2019和xamarin组件。 当我运行“msbuild my solution.sln”/t:Build/p:Configuration=“Release”/p:androidsdkddirectory=“C:\Android”时,我收到以下错误:

    "_ComputeAndroidResourcePaths:
  Creating directory "obj\Release\100\res\".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\KDI\src\KDI\KDI\KDI.Android\obj\Release\100\lp\
0\jl\__res_name_case_map.txt'. [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.cspro
j]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at System.IO.File.InternalDelete(String path, Boolean checkHost) [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at System.IO.File.Delete(String path) [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at Xamarin.Android.Tools.Files.CopyIfStreamChanged(Stream stream, String destination) [C:\KDI\src\KDI\KDI\KDI.Android\KD
I.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at Xamarin.Android.Tools.Files.ExtractAll(ZipArchive zip, String destination, Action`2 progressCallback, Func`2 modifyCa
llback, Func`2 deleteCallback, Func`2 skipCallback) [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(IDictionary`2 jars, ICollection`1 resolvedResourceDirector
ies, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments) [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at Xamarin.Android.Tasks.ResolveLibraryProjectImports.RunTask() [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1107,2): error X
ARLP7023:    at Xamarin.Android.Tasks.AndroidTask.Execute() [C:\KDI\src\KDI\KDI\KDI.Android\KDI.Android.csproj]
我检查了路径,似乎缺少_res_name_case_map.txt

以下是dockerfile:

 # escape=`

# Use the latest Windows Server Core image with .NET Framework 4.8.
FROM mcr.microsoft.com/dotnet/framework/sdk:3.5-windowsservercore-ltsc2019

# Restore the default Windows shell for correct batch processing.
SHELL ["cmd", "/S", "/C"]


# Download the Build Tools bootstrapper.
#ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
ADD https://download.visualstudio.microsoft.com/download/pr/befdb1f9-8676-4693-b031-65ee44835915/c541feeaa77b97681f7693fc5bed2ff82b331b168c678af1a95bdb1138a99802/vs_Community.exe C:\TEMP\vs2019.exe

RUN C:\TEMP\vs2019.exe --quiet --wait --norestart --nocache --includeRecommended --includeOptional`
   --add Microsoft.VisualStudio.Workload.NetCrossPlat `
 || IF "%ERRORLEVEL%"=="3010" EXIT 0
  

ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]

问题是我在容器启动期间映射了项目文件夹(docker run-v project:/project),可能是我机器上的Visual Studio阻止了在构建过程中创建这些文件。现在我在dockerfile中复制并开始工作。但是,该映像将用作gitlab CI中的基础映像,代码将自动添加。

问题是,我在容器启动期间映射了项目文件夹(docker run-v project:/project),可能是我的计算机上的Visual Studio阻止在生成过程中创建这些文件。现在我在dockerfile中复制并开始工作。但是,该映像将用作gitlab CI中的基础映像,代码将自动添加。

但它是一个生成的文件。不确定为什么会丢失。@Cheesebaron问题是我映射了项目文件夹(通过docker run-v)和Visual Studio?从我的计算机中,阻止在contianer中创建/删除某些文件夹/文件。我没有在日志中发现任何东西,但我怀疑这一点,并试图在dockerfile中复制,现在它工作了。我应该删除这个问题吗?只需自己添加一个答案并接受它?它是一个生成的文件。不确定为什么会丢失。@Cheesebaron问题是我映射了项目文件夹(通过docker run-v)和Visual Studio?从我的计算机中,阻止在contianer中创建/删除某些文件夹/文件。我没有在日志中发现任何东西,但我怀疑这一点,并试图在dockerfile中复制,现在它工作了。我应该删除这个问题吗?只需自己添加一个答案并接受它?