我正在学习ASP.NET Core 1.0(vNext)。考虑到这一点,我有一个结构如下的解决方案:
MySolution
src
MyLibrary
MyClass.cs
project.json
MyWebSite
Startup.cs
project.json
我使用MyLibrary
从命令行成功编译dnu build
。我运行了生成dnu pack
的{{1}}。还有两个文件夹:MyLibrary.1.0.0.nupkg
和dnx451
,它们都包含dnxcore50
。我想在MyLibrary.1.0.0.dll
中使用MyLibrary
,但是,我很困惑。
MyWebSite
进入MyLibrary
?我是否手动复制MyWebSite
文件?如果是这样,哪一个?我应该使用.dll
文件吗?这是一个私有程序集,我不想通过NuGet全局发布它。nupkg
中引用MyWebSite/project.json
汇编?答案 0 :(得分:6)
您使用的是Visual Studio 2015 RC吗?如果是,请按照以下步骤操作:
如果您不使用visual studio,则可以通过更新Web项目中的project.json文件来实现。
如果你创建了一个" vNext类库项目"然后将其添加到json对象的依赖项属性:
"dependencies": {
"MyLibrary": "1.0.0-*"
}
答案 1 :(得分:4)
如果您不希望与解决方案之外的其他人/项目共享该程序包,则不必将该程序包发布到NuGet。您可以直接从源代码引用包。
但是,如果这仍然不适合您,那么您有三个选择:
答案 2 :(得分:3)
(如何“将MyLibrary”包含在MyWebSite中?) 在MyWebSite / project.json中:添加这样的引用(不要担心版本号不显示)。
(我手动复制.dll文件吗?)
没有
(这是一个私人程序集,我不想通过NuGet全局发布它。)
然后不要那样做:)
从Web应用程序引用您的类库将确保在构建Web应用程序时包含它。然后,您应该将Web应用程序文件复制到能够运行它的应用程序服务器。我认为您应该尝试将您的Web应用程序发布到Azure Web应用程序,然后使用服务器资源管理器查看发布后服务器上的文件。或者您是否已经知道在您的网络应用程序中使用它之前没有理由制作包?