使用 Asp.Net Core 项目并使用" global.json "拉入外部依赖,似乎工作了一段时间。但最近它停止了工作。外部库不会进入解决方案资源管理器视图。
为了弄清楚发生了什么,我设置了一个简单的例子。 以下是我使用的各种文件和程序:
名为 MyProject 的项目。
使用的 sdk版本如下所示:
~\MyProject> dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version: 1.0.0-preview2-1-003177
Commit SHA-1 hash: a2df9c2576
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x64*
" MyProject"" 解决方案资源管理器视图:
Solution 'MyProject' (1 project)
Solution Items
global.json
src
MyProject
Properties
References
Program.cs
project.json
项目的 program.cs 源代码:
namespace MyProject
{
public class Program
{
public static void Main(string[] args)
{
var Var1 = new MyLib();
Console.WriteLine($"{Var1.VariableOne}");
}
}
}
project.json 文件:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": "1.0.1"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
global.json 文件:
{
"projects": [ "src", "../MyLibrary/src" ],
"sdk": {
"version": "1.0.0-preview2-1-003177"
}
}
图书馆项目名称为: MyLibrary
使用的 sdk 版本:
~\MyLibrary\src\MyLibrary>dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version: 1.0.0-preview2-1-003177
Commit SHA-1 hash: a2df9c2576
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x64
" MyLibrary" 解决方案资源管理器视图:
Solution 'MyLibrary' (1 project)
> Solution Items
> global.json
> src
> MyLibray
> Properties
> References
> Class1.cs
> project.json
" MyLibrary" class.cs 代码:
namespace MyLibrary
{
public class Class1
{
public string VariableOne { get; set; } = "MessageOne";
public int MyProperty { get; set; }
}
}
" MyLibrary" global.json 文件是:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-preview2-1-003177"
}
}
在命令行中打包库的步骤:
> cd src\MyLibrary
> dotnet pack
以下是包装的结果:
~\MyLibrary\src\MyLibrary\bin\Debug>dir
12/14/2016 06:33 PM 2,926 MyLibrary.1.0.0.nupkg
12/14/2016 06:33 PM 5,264 MyLibrary.1.0.0.symbols.nupkg
12/14/2016 06:22 PM <DIR> netstandard1.6
鉴于以上所有内容,在我成功开始工作之前,现在,当我尝试恢复&#34; MyProject&#34;的引用时,&#34; MyLibrary&#34;包裹不被拿起。解决方案资源管理器保持不变(当然&#34; Class1&#34;引用仍未解析)。
我忘了提到我正在使用VS 2015社区。 p>
任何建议都将不胜感激。
答案 0 :(得分:0)
好的,弄清楚我错过了什么。 在MyProject的project.json文件中,我需要添加以下依赖项:
"MyLibrary": {
"target": "Project",
"version": "*"
}