如何在 ASP.NET 5 Preview 中添加对其他项目的引用?
How to add reference to other project in ASP.NET 5 Preview?
在 Visual Studio 2015 解决方案中,我的文件夹结构如下:
-src
-Project.Models
(...)
-MyModel.cs
-Project.Web
(...)
-Controllers
-MyControllers.cs
-Dependencies
-project.json
其中 Project.Web
是一个 ASP.NET 5 Web API 项目和 Project.Models
一个 ASP.NET 5 Class 库。
现在我想在 Project.Web
的 MyController
中使用 Project.Models
的 MyModel
。为此,我需要从 Web 项目中引用 Models 项目。我不能让它在这里工作。 using Project.Models
语句一直以红色突出显示 Models
部分,因为找不到程序集引用。
我尝试了什么:
- 通常的"Add reference"结合using语句
- 正在创建
Project.Models
的 NuGet 包(通过在属性中指定 "Compile on built"),将 NuGet 包添加到本地存储库并在 project.json 中引用它。
重新启动后,这两件事似乎都不起作用 Visual Studio。
有人可以向我解释如何完成从 Project.Web
引用 Project.Models
吗?
/编辑包括project.json:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
"Microsoft.AspNet.Loader.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Loader.IIS.Interop": "1.0.0-beta5",
"Microsoft.Framework.Runtime": "1.0.0-beta5",
"Microsoft.AspNet.Mvc.Xml": "6.0.0-beta5",
"MongoDB.Driver": "2.0.1"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx451": { }
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
]
}
和global.json
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta5",
"runtime": "coreclr",
"architecture": "x86"
}
}
问题是我使用的是 .NET Core。当我将 project.json 文件中的框架条目更改为使用
"dnx451": { }
而不是
"dnxcore50": { }
再次包含参考文献(图像的红色变为黑色)。似乎 .NET 核心不(还?)支持所有包。
在 Visual Studio 2015 解决方案中,我的文件夹结构如下:
-src
-Project.Models
(...)
-MyModel.cs
-Project.Web
(...)
-Controllers
-MyControllers.cs
-Dependencies
-project.json
其中 Project.Web
是一个 ASP.NET 5 Web API 项目和 Project.Models
一个 ASP.NET 5 Class 库。
现在我想在 Project.Web
的 MyController
中使用 Project.Models
的 MyModel
。为此,我需要从 Web 项目中引用 Models 项目。我不能让它在这里工作。 using Project.Models
语句一直以红色突出显示 Models
部分,因为找不到程序集引用。
我尝试了什么:
- 通常的"Add reference"结合using语句
- 正在创建
Project.Models
的 NuGet 包(通过在属性中指定 "Compile on built"),将 NuGet 包添加到本地存储库并在 project.json 中引用它。
重新启动后,这两件事似乎都不起作用 Visual Studio。
有人可以向我解释如何完成从 Project.Web
引用 Project.Models
吗?
/编辑包括project.json:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
"Microsoft.AspNet.Loader.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Loader.IIS.Interop": "1.0.0-beta5",
"Microsoft.Framework.Runtime": "1.0.0-beta5",
"Microsoft.AspNet.Mvc.Xml": "6.0.0-beta5",
"MongoDB.Driver": "2.0.1"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx451": { }
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
]
}
和global.json
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta5",
"runtime": "coreclr",
"architecture": "x86"
}
}
问题是我使用的是 .NET Core。当我将 project.json 文件中的框架条目更改为使用
"dnx451": { }
而不是
"dnxcore50": { }
再次包含参考文献(图像的红色变为黑色)。似乎 .NET 核心不(还?)支持所有包。