Сначала немного фона:
В моей рабочей группе по исследованиям и разработкам у нас есть несколько веб-проектов, написанных на .NET MVC 5. У нас также есть несколько проектов, которые выполняются на наших разработчиках в python (с pycharm).
В основном мы работаем с Mac для разработки, но, поскольку производственные серверы строят проекты на Windows, мы также работаем с виртуальной машиной под управлением Windows 10 (с программой Parallels).
Поэтому, когда я занимаюсь разработкой (я веб-разработчик. В основном клиент, но иногда работаю на каком-то сервере), я запускаю 2 проекта Pyhton, локальный БД, локальный упругий поиск и виртуальную машину Windows 10 с visual studio 2017 для MVC и веб-шторма для разработки клиентов.
Это далеко не идеально для меня, так как у меня есть хорошая машина, которая должна обеспечивать отличную производительность, но практически она не работает так быстро.
Итак, я попытался построить наше решение с помощью Rider для Mac и Visual Studio для Mac, но если произошел сбой с той же ошибкой:
"/Users/dvir/projects/S6/web-dashboard/packages/RazorGenerator.MsBuild.2.2.6/build/RazorGenerator.MsBuild.targets(9,9): Error: InvalidCastException: Specified cast is not valid."
Полный стек ошибок:
"/Users/dvir/projects/Shift6/web-dashboard/packages/RazorGenerator.MsBuild.2.2.6/build/RazorGenerator.MsBuild.targets(9,9): Error: InvalidCastException: Specified cast is not valid.
at System.Web.Configuration.WebConfigurationHost.MapPathFromMapper (System.String virtualPath) [0x0001b] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs:275
at System.Web.Configuration.WebConfigurationHost.MapPath (System.String virtualPath) [0x00024] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs:232
at System.Web.Configuration.WebConfigurationHost.GetStreamName (System.String configPath) [0x00061] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs:148
at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x0000e] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:127
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00056] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:96
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00038] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:91
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00038] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:91
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00038] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:91
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00038] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/Configuration.cs:91
at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x0000d] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Configuration/System.Configuration/InternalConfigurationFactory.cs:41
at System.Web.Configuration.WebConfigurationManager.OpenMappedWebConfiguration (System.Web.Configuration.WebConfigurationFileMap fileMap, System.String path) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-02/external/bockbuild/builds/mono-x64/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:275
at RazorGenerator.Core.MvcWebConfigTransformer.Initialize (RazorGenerator.Core.RazorHost razorHost, System.Collections.Generic.IDictionary`2[TKey,TValue] directives) [0x000a2] in <743fc9a5bb9c4653a158bfeee3353916>:0
at RazorGenerator.Core.AggregateCodeTransformer.Initialize (RazorGenerator.Core.RazorHost razorHost, System.Collections.Generic.IDictionary`2[TKey,TValue] directives) [0x00015] in <743fc9a5bb9c4653a158bfeee3353916>:0
at RazorGenerator.Core.MvcViewTransformer.Initialize (RazorGenerator.Core.RazorHost razorHost, System.Collections.Generic.IDictionary`2[TKey,TValue] directives) [0x00000] in <743fc9a5bb9c4653a158bfeee3353916>:0
at RazorGenerator.Core.RazorCodeTransformerBase.RazorGenerator.Core.IRazorCodeTransformer.Initialize (RazorGenerator.Core.IRazorHost razorHost, System.Collections.Generic.IDictionary`2[TKey,TValue] directives) [0x00000] in <743fc9a5bb9c4653a158bfeee3353916>:0
at RazorGenerator.Core.RazorHost.GenerateCode () [0x00000] in <743fc9a5bb9c4653a158bfeee3353916>:0
at RazorGenerator.MsBuild.RazorCodeGen.ExecuteCore () [0x00166] in <0ed6243610554ecd93f4e898274cb949>:0
(Shift6.Dashboard)
Ошибка указывает на строку 21 следующего файла:
(тот, который начинается с тега RazorCodeGen)
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RazorGeneratorMsBuildPath Condition=" '$(RazorGeneratorMsBuildPath)' == '' ">$(MSBuildThisFileDirectory)\..\tools\RazorGenerator.MsBuild.dll</RazorGeneratorMsBuildPath>
<RazorViewsCodeGenDirectory Condition=" '$(RazorViewsCodeGenDirectory)' == '' ">$(MsBuildProjectDirectory)\obj\CodeGen\</RazorViewsCodeGenDirectory>
<CompileDependsOn>
PrecompileRazorFiles;
$(CompileDependsOn);
</CompileDependsOn>
</PropertyGroup>
<ItemGroup>
<RazorSrcFiles Condition=" '@(RazorSrcFiles)' == '' " Include="**\*.cshtml" />
<RazorOutputFiles Include="@(RazorSrcFiles -> '$(RazorViewsCodeGenDirectory)%(RelativeDir)%(Filename)%(Extension).cs')" />
</ItemGroup>
<UsingTask AssemblyFile="$(RazorGeneratorMsBuildPath)" TaskName="RazorCodeGen" />
<Target Name="PrecompileRazorFiles"
Inputs="@(RazorSrcFiles)"
Outputs="@(RazorOutputFiles)">
<RazorCodeGen ProjectRoot="$(MsBuildProjectDirectory)"
FilesToPrecompile="@(RazorSrcFiles)"
CodeGenDirectory="$(RazorViewsCodeGenDirectory)"
RootNamespace="$(RootNamespace)">
<Output TaskParameter="GeneratedFiles" ItemName="FilesGenerated" />
</RazorCodeGen>
<ItemGroup>
<Compile Include="@(FilesGenerated)" Condition=" '@(RazorOutputFiles)' == '' "/>
<Compile Include="@(RazorOutputFiles)" />
</ItemGroup>
</Target>
</Project>
Я также могу при необходимости опубликовать журнал сборки.