To use .NET Core in IIS you need to ensure that the Web Host runtime is installed. If you installed the .NET Core SDK then it will install this but for a production machine you'll generally use the redist instead. It is recommended to use the Hosting Bundle on a production server rather than installing things separately as it installs both. Once you've installed the runtime you need to restart IIS for it to take effect. The instructions are given on the installation page.
As for the exception the given type is throwing an exception when it's type constructor is running. If you look at the inner exception of TypeLoadException
it will tell you specifically what is failing which will help indicate what is going wrong. One thing to look at is the binaries that are being used. Publishing should put the binaries together. This is done automatically when you build so you rarely see issues. However publishing is copying everything to a distribution folder and it may miss things so compare the binaries in the dist folders to what your build output expects.