我是MSBuild和ASP Core的新手,我在使用ASP Core(ASP 5)配置MSBuild时遇到了问题。
我的上一个错误是:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DNX\Microsoft.DNX.targets (126): The Dnx Runtime package needs to be installed.
但已安装Dnx。
我在网络研究中采取的主要步骤:
已安装最新版本的dnvm
安装了最新版本的dnx
我已将DNX_FEED
环境变量添加到https://www.nuget.org/api/v2
值为<{1}}的Windows用户变量
我已将Windows用户变量中的PATH
环境变量修改为C:\Users\OAG\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Users\OAG\.dnx\bin
顺便说一下,我的tfs版本是2013年的msbuild操作。
答案 0 :(得分:1)
我的问题终于解决了
首先感谢答案指导我结果
我曾使用 Teamcity 而不是 TFS Msbuild ,但仍然存在与未安装dnx相同的错误。
对我来说有趣的是,我在几台计算机上检查过它,其中一些计算机正常工作,另一些错误仍然存在。
在某些情况下,我遇到了此错误,但在添加新代理以构建已解决的错误后。
毕竟使用此链接Specify that MSBuild v14 use CoreClr RC1 for build并将此行代码添加到命令行参数:
/冗长:最小 /p:RuntimeToolingDirectory="C:\Users\Administrator.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1"
该错误消失,无法找到包错误运行 dnu restore ,这似乎很容易解决,但这并不容易,因为包已存在于我的dnx文件夹中错误提到包不存在(发生了什么?)。
在Patrick提及的Microsoft链接Build and Deploy your ASP.NET 5 Application to an Azure Web App的帮助下,我在主构建操作之前添加了PowerShell级别并添加了Prebuild.ps1文件(存在于链接中),这解决了dnu恢复问题,现在主编译操作中的命令行参数可以为空。
但是发生了什么?
我发现在构建操作中(在某些情况下我不知道)构建代理正在建立单独的区域来构建和使用自己的dnx项目,在我的情况下,构建代理在此文件夹中工作
C:\的Windows \ Syswow64资料\配置\ systemprofile \
它包含自己的运行时和包,最后我理解发生了什么, dnx运行时不存在错误是该区域中不存在运行时版本的原因并且 dnu恢复问题是因为它在自己的区域而不是用户dnx包。
顺便说一下,我的目标操作系统是Windows Server 2008 R2
答案 1 :(得分:0)
确保您已将 global.json 更新为指向较新的运行时。
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-rc1-xxxx",
"runtime": "coreclr"
}
}
以下是一个类似的问题:https://github.com/aspnet/Tooling/issues/71
此外,下面的文章介绍了您需要添加的powershell脚本以及如何配置构建。并检查链接中的以下步骤是否解决问题。 Build and Deploy your ASP.NET 5 Application to an Azure Web App
答案 2 :(得分:0)
对于您的问题,
当您从dnvm安装dnx时,DNX bin已自动添加到用户PATH环境变量中。所以你不需要手动添加它。
关于DNVM的说明:Version Manager