c#/ Mono解决方案不在远程Dokku服务器上构建

时间:2016-05-27 15:40:55

标签: c# .net docker mono dokku

我是新手单声道和在Dokku上部署c#应用程序。

将我的应用程序推送到远程dokku服务器后,构建开始,我奇迹般地只得到3个构建错误。

   IUserRepository.cs(7,40): error CS0246: The type or namespace name `IRepositoryV2' could not be found. Are you missing an assembly reference?
   IAuthenticationUnitOfWork.cs(6,69): error CS0246: The type or namespace name `IUnitOfWork' could not be found. Are you missing an assembly reference?
   IAuthenticationUnitOfWork.cs(11,3): error CS0246: The type or namespace name `IRepositoryV2' could not be found. Are you missing an assembly reference? 

这些都是从我的项目中的一个解决方案到另一个解决方案的引用。整个解决方案包含大约15个项目。

当进一步查看构建输出时,我也看到一些NuGet包未被发现/得到解决:

   /tmp/build/mono/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'FluentValidation' not resolved

   /tmp/build/Reflect.v2.sln (default targets) ->
   (Build target) ->
   /tmp/build/Reflect.Data.EF/Reflect.Data.EF.csproj (default targets) ->
   /tmp/build/mono/lib/mono/4.5/Microsoft.Common.targets (ResolveAssemblyReferences target) ->

   /tmp/build/mono/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'EntityFramework' not resolved
   /tmp/build/mono/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'Npgsql' not resolved
   /tmp/build/mono/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'Npgsql.EntityFramework' not resolved

我怀疑这些警告可能是实际问题的指标。但是,我在我的项目中仔细检查了所有NuGet引用,所有看起来都很好。后续的packages.config文件看起来也不错。

此外,一切都在我的本地机器上构建良好。我正在使用这个buildpack:https://github.com/adamburgess/heroku-buildpack-mono

可能是罪魁祸首?谢谢!

这是我的完整版本输出:https://gist.github.com/Corstiaan84/d4798dd1e84486dee2945845293de0f3

1 个答案:

答案 0 :(得分:0)

我最终删除了解决方案中的项目,创建了一个新项目,并将已删除项目中的文件重新添加到新项目中。不知道究竟是什么解决了这个问题,但现在它正在发挥作用。