安装在我的机器上是:
注意:在Windows 10计算机和Windows 7计算机上发生构建错误,但构建在另一台Windows 7计算机上运行。
所以我从另一个开发人员那里克隆了一个.Net Core项目,当我尝试在Visual Studio 2015中构建时,我收到了错误
“系统找不到Microsoft.DotNet.Common.Targets第262行中指定的文件”
转到C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ DotNet \ Microsoft.DotNet.Common.Targets第262行中的第262行我看到了
<Dnx
RuntimeExe="$(SDKToolingExe)"
Condition="'$(_DesignTimeHostBuild)' != 'true'"
ProjectFolder="$(MSBuildProjectDirectory)"
Arguments="$(_BuildArguments)"
/>
如果从Microsoft.DotNet.Common.Targets项目构建中删除此部分。
我知道dnx是旧的.Net Core工具,我的猜测是project.json中的类库是遗留给旧的dnx工具和我安装的新的1.0.1 Preview 2 .Net Core工具将遗留的project.json条目推迟到Microsoft.DotNet.Common.Targets中的旧dnx工具条目,但由于我没有安装dnx工具,构建失败,当然,这只是猜测。
我在网上广泛搜索过这个问题,我found an article说明"type": "platform"
Microsoft.NETCore.App
依赖于project.json,但我没有使用该依赖项,我尝试添加{ {1}}我的"type": "platform"
依赖,但没有帮助,这是我的project.json:
"NETStandard.Library"
这是构建输出:
{
"version": "1.0.1-*",
"dependencies":
{
"Microsoft.AspNetCore.Mvc.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"NETStandard.Library": "1.6.1",
"TSO.ProductItemList.Model": "1.0.2"
},
"frameworks":
{
"netstandard1.6":
{
"imports": "dnxcore50"
}
},
"scripts":
{
"postcompile":
[
"dotnet pack --no-build --configuration %compile:Configuration%",
"\"C:\\Program Files (x86)\\NuGet\\nuget\" push \"%project:Directory%\\bin\\%compile:Configuration%\\%project:Name%.%project:Version%.nupkg\" -s http://foo/NugetServer/ -apikey testkey"
]
}
}
答案 0 :(得分:10)
错误消息完全是误导性的,将我的postcompile
cmd作为nuget包发布到我自己的nuget服务器失败了:
"scripts":
{
"postcompile":
[
"dotnet pack --no-build --configuration %compile:Configuration%",
"\"C:\\Program Files (x86)\\NuGet\\nuget\" push \"%project:Directory%\\bin\\%compile:Configuration%\\%project:Name%.%project:Version%.nupkg\" -s http://foo/NugetServer/ -apikey testkey"
]
}
该cmd正试图致电C:\Program Files (x86)\NuGet\nuget.exe
正如我所说,我克隆了这个项目而没有创建它,创建项目的开发人员安装了C:\Program Files (x86)\NuGet\nuget.exe
。
我只有C:\Program Files (x86)\NuGet
,没有nuget.exe,该文件夹已存在,因为我安装了Visual Studio 2015 nuget扩展程序并且.vsix
文件存在但没有nuget.exe。
我只是下载了nuget.exe here,最新版本(v3.5.0),并放置在我的postcompile cmd预期的位置:C:\ Program Files(x86)\ NuGet < / p>
答案 1 :(得分:0)
试试这个......
答案 2 :(得分:0)
我制作了场景。 您可以完全还原该软件包。 按照步骤: 右键单击Project->单击Resotre Packages 并检查您的输出。
希望这可以解决您的问题。