如何在 ASP.NET MVC 5 应用程序中使用 Roslyn?
How Can I Use Roslyn in an ASP.NET MVC 5 App?
我有一个针对 .NET Framework 4.7.2 的 ASP.NET MVC 5 应用程序(准确地说是 5.2.7)。我正在尝试为对象的验证规则添加一个功能。我有一堆条件,我 t运行 形成一个 C# 脚本,我想使用 CSharpScript.EvaluateAsync
.
来评估它们
我有一个在 LINQPad 中工作的原型,并试图将其移植到主项目中。因为主要项目是在 VS2013 中的 C#5 上开发的,所以我决定是时候升级到 C#7.3 和 VS2017 了,于是我就这么做了。升级后清理一切后,我决定实现原型。
我首先将 Microsoft.CodeAnalysis.Scripting
NuGet 包添加到主项目,但是当我尝试 运行 应用程序时,我得到了各种异常,我认为是 MVC 5 之间的库冲突以及包依赖项是什么。
然后我恢复并尝试制作一个单独的项目,其中包含验证规则代码。当我 运行 应用程序加载时,一切似乎都很好,直到我尝试触发验证规则。那时它抛出了一个异常:
Could not load file or assembly 'Microsoft.CodeAnalysis.Scripting, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
绕一圈我又回到了主项目试图加载 NuGet 包的问题。
那么,...有没有办法让两者一起工作?如果不是,我的下一个选择是什么?迁移到 ASP.NET 核心?我打算在未来这样做,只是现在试图避免它,因为解决方案相当大,经过 4 年的努力...
另一种正确的选择是迁移到 ASP.NET Core。由于3.0即将到来,我可能会在那个时候这样做。
我有一个针对 .NET Framework 4.7.2 的 ASP.NET MVC 5 应用程序(准确地说是 5.2.7)。我正在尝试为对象的验证规则添加一个功能。我有一堆条件,我 t运行 形成一个 C# 脚本,我想使用 CSharpScript.EvaluateAsync
.
我有一个在 LINQPad 中工作的原型,并试图将其移植到主项目中。因为主要项目是在 VS2013 中的 C#5 上开发的,所以我决定是时候升级到 C#7.3 和 VS2017 了,于是我就这么做了。升级后清理一切后,我决定实现原型。
我首先将 Microsoft.CodeAnalysis.Scripting
NuGet 包添加到主项目,但是当我尝试 运行 应用程序时,我得到了各种异常,我认为是 MVC 5 之间的库冲突以及包依赖项是什么。
然后我恢复并尝试制作一个单独的项目,其中包含验证规则代码。当我 运行 应用程序加载时,一切似乎都很好,直到我尝试触发验证规则。那时它抛出了一个异常:
Could not load file or assembly 'Microsoft.CodeAnalysis.Scripting, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
绕一圈我又回到了主项目试图加载 NuGet 包的问题。
那么,...有没有办法让两者一起工作?如果不是,我的下一个选择是什么?迁移到 ASP.NET 核心?我打算在未来这样做,只是现在试图避免它,因为解决方案相当大,经过 4 年的努力...
另一种正确的选择是迁移到 ASP.NET Core。由于3.0即将到来,我可能会在那个时候这样做。