C# 无法发布将类库引用到Azure的ASP.NET 5
最初我有一个正在工作的ASP.NET 5项目,可以毫无问题地发布到Azure。然后我决定将DAL拆分为一个单独的类项目,但遇到了许多依赖性问题。然后我决定创建一个带有空白类库的空白项目,看看是否能解决问题,但我甚至不能发布它 步骤:C# 无法发布将类库引用到Azure的ASP.NET 5,c#,asp.net,azure,asp.net-core,class-library,C#,Asp.net,Azure,Asp.net Core,Class Library,最初我有一个正在工作的ASP.NET 5项目,可以毫无问题地发布到Azure。然后我决定将DAL拆分为一个单独的类项目,但遇到了许多依赖性问题。然后我决定创建一个带有空白类库的空白项目,看看是否能解决问题,但我甚至不能发布它 步骤: 创建新的ASP.NET 5 Web API预览模板项目(同时创建解决方案) 将类库添加到解决方案中 将类库目标框架从4.6更改为.NET 4.5.1 从ASP.NET 5项目中引用类库 试图发布 这是项目结构: 生成的ASP.NET 5project.json:
project.json
:
"frameworks": {
"dnx451": {
"dependencies": {
"ClassLibrary1": "1.0.0-*"
}
},
"dnxcore50": { }
},
因此,它成功引用,我可以在自托管上构建和部署,但如果我尝试将其发布到Azure,我会收到以下错误消息:
The "Dnu" task failed unexpectedly.
System.Exception:
Microsoft .NET Development Utility CLR-x86-1.0.0-beta6-12256
Copying to output path C:\Users\MyUserDir\AppData\Local\Temp\PublishTemp
Time elapsed 00:00:04.1309210
at Microsoft.DNX.Tasks.Dnu.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder. <ExecuteInstantiatedTask>d__26.MoveNext()
该“Dnu”任务意外失败。
系统。例外情况:
Microsoft.NET开发实用程序CLR-x86-1.0.0-beta6-12256
正在复制到输出路径C:\Users\MyUserDir\AppData\Local\Temp\PublishTemp
时间流逝00:00:04.1309210
在Microsoft.DNX.Tasks.Dnu.Execute()中
位于Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ItaskeExecutionHost.Execute()
位于Microsoft.Build.BackEnd.TaskBuilder。d_u26.MoveNext()
我正在使用Visual Studio 2015和ASP.NET 5 Beta 7
编辑:
经过一番周旋,我认为我的答案不太正确。我现在意识到有些情况下不能使用新类型的类库,例如现有的旧类库,这可能不适合移植。有没有办法做到这一点
我试过做dnu publish
,它的发布效果非常好。然后,我将输出FTP到服务器上,但它会给我一个运行时错误
。我尝试使用VisualStudio远程调试它。我可以看到当我访问该站点时抛出异常,但我无法看到问题的确切原因。引发的第一个异常之一是:
抛出异常:AspNet.Loader.dll中的“System.InvalidOperationException”
当我查看日志时,它告诉我无法确定运行时的适当版本。
结果表明我使用的类库项目不正确。显然,我使用的是旧类库,而不是新的预览版
,该版本也标有(Package)
这个描述让我有点不舒服,因为它说它是用来创建NuGet包的,但现在一切正常,ASP.NET 5项目可以部署到Azure,并成功引用类库。ClassLibrary1是否也针对.NET Core?e、 g.ClassLibrary1是否也有一个“project.json”?如果删除dnxcore目标,会发生什么情况?@natemcmaster没有,它只针对.NET Framework 4.5.1。我已经用ClassLibrary1的结构更新了这篇文章,它没有project.json
@mbudnik发生了相同的错误。我在更广泛的类库中看到了完全相同的问题,该类库本身需要一些引用(2个DLL),但“新建”类库类型的引用管理器在我单击“浏览”时不会打开“文件”对话框。你能看看这个按钮是否对你有用吗?@Gabriël这个文件对话框可以为我打开这个类库。