We have a small solution with a Web and Worker (service) project which are both targeting two frameworks.
net461;netcoreapp2.0
The reason for targeting two frameworks is we are using nServiceBus with persistence into RavenDB. The 7.0 beta of nServiceBus’s wrapper over their RavenDB code targets .NET Framework 4.6.1. Our apps are targeting .NET Core 2.0.
When we set both of these projects as startup projects and launch them through Visual Studio, everything runs fine.
When we use Publish and push the binaries for the Web project to a directory that local IIS is pointing to for the web site, we receive the following error in a custom log:
The selected persistence doesn’t have support for timeout storage. Select another persistence or disable the timeout manager feature using endpointConfiguration.DisableFeature() at NServiceBus.Features.TimeoutManager.Setup(FeatureConfigurationContext context)
The same error occurs when we publish the service.
We tried disabling the timeout manager feature as it suggests, but it still throws the error.
Any help or things to try would be greatly appreciated!
It’s a little unclear what exactly you’re trying to do. Typically for an application you would not be multi-targeting, unless you’re intending to deploy separate copies of your app that would be running on different frameworks.
The RavenDB persistence package does not currently support .NET Core. When the upcoming 4.0 version of RavenDB is released, we’ll reevaluate adding support for .NET Core.
Until then, if you’re planning on using .NET Core, you’ll have to choose a difference persistence option.
If you’re using the RavenDB persistence with an application targeting the .NET Framework, then it should support timeout storage, so there is definitely something odd going on.
It’s still a bit hard to understand what your project structure is without some more details.
It would be very helpful if you could provide a list of your projects that includes for each project:
Which framework is being targeted
What packages are being referenced
The endpoint configuration code
Also, would it be possible to provide a list of the output of the applications’ bin folders vs. the publish folder output? I’m wondering if something is being left out of the publish output.