加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 为dnx rc2运行MVC 6 ASP.NET 5本地化示例

发布时间:2020-12-16 06:55:09 所属栏目:asp.Net 来源:网络整理
导读:我试图从这里 https://github.com/damienbod/AspNet5Localization/tree/rc2运行AspNet5Localization示例项目 但是,当我打开解决方案时,会出现一个警告框: DNX SDC version dnx-clr-win-x86.1.0.0-rc2-16444 is required by your solution but is not instal
我试图从这里 https://github.com/damienbod/AspNet5Localization/tree/rc2运行AspNet5Localization示例项目

但是,当我打开解决方案时,会出现一个警告框:

DNX SDC version dnx-clr-win-x86.1.0.0-rc2-16444 is required by your solution but is not installed on this machine. Do you want to install it now? If you select No,‘dnx-clr-win-x86.1.0.0-rc1-update1’ will be used as the solution DNX SDK version for this session.

我选择是.

然后出现另一个信息框:

DNX SDK version dnx-clr-win-x86.1.0.0-rc2-16444 failed to install. The solution will use DNX SDK version dnx-clr-win-x86.1.0.0-rc1-update1 for this session.

因为我已经安装了dnx-clr-win-x86.1.0.0-rc2-16357,所以我将“Soltion DNX SDK version”从项目属性更改为1.0.0-rc2-16357.

Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
       1.0.0-rc1-update1 clr     x64          win
       1.0.0-rc1-update1 clr     x86          win             default
       1.0.0-rc1-update1 coreclr x64          win
       1.0.0-rc1-update1 coreclr x86          win
       1.0.0-rc2-16357   clr     x86          win

但是,无论此更改如何,都无法还原软件包.

我看到以下错误:

System.ArgumentException: More than one runtime.json file has declared imports for 'win7-x86'
Parameter name: runtimeName
   at Microsoft.Dnx.Tooling.RestoreCommand.FindRuntimeDependencies(String runtimeName,List`1 runtimeFiles,Dictionary`2 effectiveRuntimeSpecs,HashSet`1 allRuntimeNames,Func`2 circularImport)
   at Microsoft.Dnx.Tooling.RestoreCommand.FindRuntimeDependencies(String runtimeName,HashSet`1 allRuntimeNames)
   at Microsoft.Dnx.Tooling.RestoreCommand.<RestoreForProject>d__69.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Dnx.Tooling.RestoreCommand.<>c__DisplayClass68_0.<<Execute>b__2>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.Dnx.Tooling.RestoreCommand.<Execute>d__68.MoveNext()
----------
Restore failed
More than one runtime.json file has declared imports for 'win7-x86'

如何编译和运行此示例项目?

解决方法

How can I compile and run this example project?

一.从命令行运行以下三个命令.这会升级我们的dnvm并添加最新的开发版本.确保关闭防病毒;我的防病毒软件阻止了几个.NET文件.

set DNX_UNSTABLE_FEED=https://www.myget.org/F/aspnetcidev/api/v2
dnvm upgrade -unstable
dnvm install 1.0.0-rc2-16549 -runtime coreclr -unstable

二.打开AspNet5Localization / src / AspNet5Localization / project.json.添加以下依赖项.这修复了runtime.json错误.它通过提供解析.NETCore包的目标框架,平台和运行时特定实现所需的运行时信息来实现.

"Microsoft.NETCore.Platforms": "1.0.1-*"

三.打开AspNet5Localization / NuGet.config.确保未注释掉asp.nuget.org和nuget.org供稿.这些feed为我们提供了Newtonsoft.Json,Remotion.Linq,Ix-Async和一些Microsoft.CodeAnalysis软件包.完成后,NuGet.config如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources 
        remove the <clear/> line below -->
    <clear />
    <add key="MyGet aspnetcidev" 
         value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
    <add key="api.nuget.org" 
         value="https://api.nuget.org/v3/index.json" />
    <add key="nuget.org" 
         value="https://www.nuget.org/api/v2/" />
  </packageSources>
</configuration>

此时,dnu恢复现在可以正常工作,但是dnu build不会.

四.打开AspNet5Localization / src / AspNet5Localization / Controllers / BoxesController.cs. Responds to recent renaming通过查找和替换以下内容.

HttpNotFound --> NotFound
HttpBadRequest --> BadRequest

五恢复并构建AspNet5Localization / src / Localization.SqlLocalizer项目.

$cd srcLocalization.SqlLocalizer
$dnu restore
$dnu build

六恢复并构建AspNet5Localization / src / AspNet5Localization项目.

$cd srcAspNet5Localization
$dnu restore
$dnu build
$dnx web

您将看到以下结果.

enter image description here

注意01.这是dnvm列表在我的机器上的样子:

Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
       1.0.0-rc1-update1 coreclr x64          win
       1.0.0-rc2-16549   clr     x86          win             default
  *    1.0.0-rc2-16549   coreclr x64          win

注意02.在构建时,您将收到两条警告:Microsoft.Extensions.CodeGeneration和Microsoft.Extensions.CodeGenerators.Mvc不支持dnx451.要摆脱这些错误,请打开project.json.删除这两个依赖项或删除dnx451框架.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读