У нас есть решение asp. net с другим проектом.
Решение (файл sln) содержит элемент, который выглядит так
ProjectSection(WebsiteProperties) = preProject
UseIISExpress = "false"
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.6.1"
ProjectReferences = "{c7c9f59e-7c1e-4960-aae3-e1993975555b}|Calani.BusinessObjects.dll;{3A842950-A68D-4776-9F59-7C9470CD92AA}|PushServer.dll;{B06085A2-76CB-4CED-A4F4-64ABCE79C09E}|PushFirebase.dll;"
Debug.AspNetCompiler.VirtualPath = "/calani"
Debug.AspNetCompiler.PhysicalPath = "\\Mac\Home\VMSharedFolder\Projects\CalaniDPC\Calani.WebApp\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\calani\"
Debug.AspNetCompiler.Updateable = "true"
Debug.AspNetCompiler.ForceOverwrite = "true"
Debug.AspNetCompiler.FixedNames = "false"
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.VirtualPath = "/calani"
Release.AspNetCompiler.PhysicalPath = "\\Mac\Home\VMSharedFolder\Projects\CalaniDPC\Calani.WebApp\"
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\calani\"
Release.AspNetCompiler.Updateable = "true"
Release.AspNetCompiler.ForceOverwrite = "true"
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
SlnRelativePath = "\\Mac\Home\VMSharedFolder\Projects\CalaniDPC\Calani.WebApp\"
EndProjectSection
Как вы можете видеть он использует относительную папку на моей MA C (с моей Windows виртуальной машины)
При сборке проекта из Visual Studio все отлично работает на моей машине или любой другой. Но когда мы пытаемся построить с использованием MSBuild для использования CI (с jenkins, но это не имеет значения), мы получаем ошибку, потому что MSBuild пытается использовать \ Mac \ xxx в качестве относительного пути, который не существует на сервере.
Есть ли способ указать значение Release.AspNetCompiler.PhysicalPath при сборке с MSBuild? Я думаю, это решит проблему.
Спасибо за вашу помощь,
Пэт