Closed davkean closed 4 months ago
I'll move this to the SDK for now. First of all, is there an app.config being produced? I would expect this to contain a binding redirect.
<configuration>
<appSettings>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<gcServer enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NodaTime" publicKeyToken="4226afe0d9b296d1" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.0.0" newVersion="1.4.0.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.4.3.0" newVersion="4.4.3.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Here is the app.config, I've stripped out the appsettings elements.
Is there anything custom on the project file? Can you share that with us?
cc @dsplaisted @KevinRansom
@joperezr Does this look like an issue where there's a different version of .NET, or a different patch, on the server than on the development machine?
@btrepp Can you share which version of the .NET Framework is installed both on your dev machine and on the server?
Thanks!
I've followed this using powershell (somewhat) http://ilovepowershell.com/2017/02/19/what-is-your-net-framework-version-use-powershell-to-check/
Server
PS C:\Users\Beau.Trepp.1\Documents> Get-Childitem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
l'
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
Name Property
---- --------
1033 CBS : 1
Install : 1
Release : 394802
Servicing : 0
TargetVersion : 4.0.0
Version : 4.6.01586
Development machine
PS H:\> Get-Childitem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
Name Property
---- --------
1033 CBS : 1
Install : 1
Release : 461310
Servicing : 0
TargetVersion : 4.0.0
Version : 4.7.02558
1036 CBS : 1
Install : 1
Release : 460798
Servicing : 0
TargetVersion : 4.0.0
Version : 4.7.02046
FSProj (Main thing to note here is that it targets net461). This was fine to do in earlier versions of VS
<Project Sdk="FSharp.NET.Sdk;Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net461</TargetFramework>
<AssemblyName>BridgeFlow</AssemblyName>
</PropertyGroup>
<ItemGroup>
<None Remove="**/*" />
</ItemGroup>
<ItemGroup>
<Content Include="App.config" />
<Compile Include="AssemblyInfo.fs" />
<Compile Include="Util\EventStore.fs" />
<Compile Include="Util\Manifest.fs" />
<Compile Include="Util\DotLiquid.fs" />
<Compile Include="Util\Argu.fs" />
<Compile Include="Util\Freya.fs" />
<Compile Include="Util\Template.fs" />
<Compile Include="Util\NodaTime.fs" />
<Compile Include="Util\Auth.fs" />
<Compile Include="Types\Person.fs" />
<Compile Include="Types\AuditInfo.fs" />
<Compile Include="Types\BridgeId.fs" />
<Compile Include="Types\Equipment.fs" />
<Compile Include="Types\Site.fs" />
<Compile Include="Types\Workarea.fs" />
<Compile Include="Types\Consequence.fs" />
<Compile Include="Types\Likelihood.fs" />
<Compile Include="Types\Risk.fs" />
<Compile Include="Types\Level.fs" />
<Compile Include="Types\FriendlyId.fs" />
<Compile Include="Types\HardwiredForce.fs" />
<Compile Include="Types\LogicChange.fs" />
<Compile Include="Types\Notifications\OnPublished.fs" />
<Compile Include="Types\Notifications\OnRemoved.fs" />
<Compile Include="Types\ForceId.fs" />
<Compile Include="Types\CommentId.fs" />
<Compile Include="Types\SapIdentifier.fs" />
<Compile Include="Commands\BridgeCommands.fs" />
<Compile Include="Events\DetailsUpdated.fs" />
<Compile Include="Events\CommissioningSet.fs" />
<Compile Include="Events\AssessedRisks.fs" />
<Compile Include="Events\ApproversSelected.fs" />
<Compile Include="Events\ApproversConfirmed.fs" />
<Compile Include="Events\Published.fs" />
<Compile Include="Events\Closed.fs" />
<Compile Include="Events\CommentDeleted.fs" />
<Compile Include="Events\CommentModified.fs" />
<Compile Include="Events\ForceRemoved.fs" />
<Compile Include="Events\UntrackedForceAdded.fs" />
<Compile Include="Events\SetpointChangeAdded.fs" />
<Compile Include="Events\HardwiredForceAdded.fs" />
<Compile Include="Events\LogicChanged.fs" />
<Compile Include="Events\IdAssigned.fs" />
<Compile Include="Events\Approved.fs" />
<Compile Include="Events\AssignedTrackedForce.fs" />
<Compile Include="Events\UnassignedTrackedForce.fs" />
<Compile Include="Aggregates\BridgeRecordAggregate.fs" />
<Compile Include="Forms\ProvidingDetail.fs" />
<Compile Include="Forms\DeclaringCommissioning.fs" />
<Compile Include="Forms\AssessingRisk.fs" />
<Compile Include="Forms\AssigningApprovers.fs" />
<Compile Include="Forms\ConfirmingApprovers.fs" />
<Compile Include="Forms\Publishing.fs" />
<Compile Include="Forms\Closing.fs" />
<Compile Include="Forms\SettingUntrackedForces.fs" />
<Compile Include="Forms\SettingSetpointChanges.fs" />
<Compile Include="Forms\SettingHardwiredForces.fs" />
<Compile Include="Forms\SettingLogicChanges.fs" />
<Compile Include="Forms\AssignId.fs" />
<Compile Include="Forms\ImportingBridge.fs" />
<Compile Include="Forms\AddingComment.fs" />
<Compile Include="Forms\Approve.fs" />
<Compile Include="Query\ExportedBridge.fs" />
<Compile Include="Query\ExportedComment.fs" />
<Compile Include="Query\BridgePreview.fs" />
<Compile Include="Query\ActiveManualForce.fs" />
<Compile Include="Query\SiteSelectItem.fs" />
<Compile Include="Query\MeetingSummary.fs" />
<Compile Include="Query\BridgeApprovalStatus.fs" />
<Compile Include="Query\BridgeDetails.fs" />
<Compile Include="Query\ExternalForce.fs" />
<Compile Include="Context.fs" />
<Compile Include="StateContext.fs" />
<Compile Include="LegacyContext.fs" />
<Compile Include="ActiveBridges.fs" />
<Compile Include="BridgeEvents.fs" />
<Compile Include="ForceLoader.fs" />
<Compile Include="Projections\ESConnection.fs" />
<Compile Include="CommandHandlers\BridgeHandler.fs" />
<Compile Include="Queries\Common.fs" />
<Compile Include="Queries\AssignedForces.fs" />
<Compile Include="Queries\UnassignedForces.fs" />
<Compile Include="Queries\CreateBridgeQuery.fs" />
<Compile Include="Queries\RiskAssessment.fs" />
<Compile Include="Queries\BridgeApprovals.fs" />
<Compile Include="Queries\ReviewWizard.fs" />
<Compile Include="Queries\SiteBridges.fs" />
<Compile Include="Queries\BridgeState.fs" />
<Compile Include="Queries\ArchiveBridge.fs" />
<Compile Include="Queries\AuditActive.fs" />
<Compile Include="Views\Links.fs" />
<Compile Include="Views\Templates.fs" />
<Compile Include="Views\Environment.fs" />
<Compile Include="Views\NotFound.fs" />
<Compile Include="Views\Details.fs" />
<Compile Include="Views\NewBridge.fs" />
<Compile Include="Views\AssessRisks.fs" />
<Compile Include="Views\SelectApprovers.fs" />
<Compile Include="Views\ConfirmApprovers.fs" />
<Compile Include="Views\Publish.fs" />
<Compile Include="Views\AssignBridges.fs" />
<Compile Include="Views\Closure.fs" />
<Compile Include="Views\SelectSite.fs" />
<Compile Include="Views\PLCAudit.fs" />
<Compile Include="Views\DownloadBridges.fs" />
<Compile Include="Views\RPC\Userlookup.fs" />
<Compile Include="Views\RPC\Devnull.fs" />
<Compile Include="Views\Intro.fs" />
<Compile Include="Views\EditBridge.fs" />
<Compile Include="Views\Meeting.fs" />
<Compile Include="Views\Approval.fs" />
<Compile Include="Views\Mock\ForceSyncMock.fs" />
<Compile Include="Views\SiteMachines.fs" />
<Compile Include="Views\BridgeMachines.fs" />
<Compile Include="Reports.fs" />
<Compile Include="Migrate.fs" />
<Compile Include="Notify.fs" />
<Compile Include="UseCases.fs" />
<Compile Include="Web.fs" />
<Compile Include="Logary.fs" />
<Compile Include="Arguments.fs" />
<Compile Include="Server.fs" />
<Compile Include="Program.fs" />
<None Include="Database\brold.dbml" />
<None Include="Database\schema.dbml" />
<EmbeddedResource Include="favicon.ico" />
<EmbeddedResource Include="Migrations\Script0001 - Create Config Schema.sql" />
<EmbeddedResource Include="Migrations\Script0002 - Create Config Site Table.sql" />
<EmbeddedResource Include="Migrations\Script0003 - Create Config WorkArea Table.sql" />
<EmbeddedResource Include="Migrations\Script0004 - Increase Name column width Workarea.sql" />
<EmbeddedResource Include="Migrations\Script0005 - Create Trusted keys Table.sql" />
<EmbeddedResource Include="Migrations\Script0006 - Add Notification Emails.sql" />
<EmbeddedResource Include="Migrations\Script0007 - Add Reporting Schema.sql" />
<EmbeddedResource Include="Migrations\Script0008 - Add Bridge Schema.sql" />
<EmbeddedResource Include="Migrations\Script0009 - Add BridgId Column.sql" />
<EmbeddedResource Include="Migrations\Script0010 - Add BridgId Report Columns.sql" />
<EmbeddedResource Include="Migrations\Script0011 - Add ManualForceAggregate.sql" />
<EmbeddedResource Include="Migrations\Script0012 - Add Active Forces View.sql" />
<EmbeddedResource Include="Migrations\Script0013 - Add Bridge Removal Columns.sql" />
<EmbeddedResource Include="Migrations\Script0014 - Change Manual Force Address to text.sql" />
<EmbeddedResource Include="Migrations\Script0015 - Add State Schema.sql" />
<EmbeddedResource Include="Migrations\Script0016 - Create Tracked Force Table.sql" />
<EmbeddedResource Include="Migrations\Script0017 - Create Bridge Detail Table.sql" />
<EmbeddedResource Include="Migrations\Script0018 - Create Bridge Removal Table.sql" />
<EmbeddedResource Include="Migrations\Script0019 - Add Bridge Modification Column.sql" />
<EmbeddedResource Include="Migrations\Script0020 - Add Bridge RiskAssessment.sql" />
<EmbeddedResource Include="Migrations\Script0021 - Add Tracked Force View.sql" />
<EmbeddedResource Include="Migrations\Script0022 - Tracked Force Returns Removed.sql" />
<EmbeddedResource Include="Migrations\Script0023 - Tracked Force Config.sql" />
<EmbeddedResource Include="Migrations\Script0024 - State Forces.sql" />
<EmbeddedResource Include="Scripts\required_input.js" />
<EmbeddedResource Include="Templates\bridge_wizard_details.liquid" />
<EmbeddedResource Include="Templates\_assign_bridge.liquid" />
<EmbeddedResource Include="Templates\_edit_detail.liquid" />
<EmbeddedResource Include="Templates\site_records.liquid" />
<EmbeddedResource Include="Templates\_site_select.liquid" />
<EmbeddedResource Include="Templates\_remove.liquid" />
<EmbeddedResource Include="Templates\_layout.liquid" />
<EmbeddedResource Include="Templates\_edit_manual.liquid" />
<EmbeddedResource Include="Templates\_edit_logic.liquid" />
<EmbeddedResource Include="Templates\_edit_hardwired.liquid" />
<EmbeddedResource Include="Templates\_edit_setpoint.liquid" />
<EmbeddedResource Include="Templates\_edit_comment.liquid" />
<EmbeddedResource Include="Templates\_edit_tracked.liquid" />
<EmbeddedResource Include="Templates\_audit.liquid" />
<EmbeddedResource Include="Templates\_guide.liquid" />
<EmbeddedResource Include="Templates\_head.liquid" />
<EmbeddedResource Include="Templates\_published_email.liquid" />
<EmbeddedResource Include="Templates\_approver_email.liquid" />
<EmbeddedResource Include="Templates\_form_detail.liquid" />
<EmbeddedResource Include="Templates\_form_booknumber.liquid" />
<EmbeddedResource Include="Templates\edit_bridge.liquid" />
<EmbeddedResource Include="Templates\meeting.liquid" />
<EmbeddedResource Include="Templates\notfound.liquid" />
<EmbeddedResource Include="Templates\approve.liquid" />
<EmbeddedResource Include="Templates\approve_forbidden.liquid" />
<EmbeddedResource Include="Templates\approve_done.liquid" />
<EmbeddedResource Include="Templates\bridge_view.liquid" />
<EmbeddedResource Include="Templates\bridge_archive_view.liquid" />
<EmbeddedResource Include="Templates\bridge_remove.liquid" />
<EmbeddedResource Include="Templates\bridge_assignforces.liquid" />
<EmbeddedResource Include="Templates\bridge_wizard_riskassessment.liquid" />
<EmbeddedResource Include="Templates\bridge_wizard_selectapprovers.liquid" />
<EmbeddedResource Include="Templates\bridge_wizard_review.liquid" />
<EmbeddedResource Include="Templates\site_unassigned.liquid" />
<EmbeddedResoruce Include="Templates\site_records.liquid" />
<EmbeddedResource Include="Templates\site_audit.liquid" />
<EmbeddedResource Include="Templates\_nav.liquid" />
<EmbeddedResource Include="Templates\_event_bridge_detail.liquid" />
<EmbeddedResource Include="Templates\_event_bridge_risk.liquid" />
<EmbeddedResource Include="Templates\_query_bridge_approval_status.liquid" />
<EmbeddedResource Include="Templates\_force_table_manual.liquid" />
<EmbeddedResource Include="Templates\_force_table_logic.liquid" />
<EmbeddedResource Include="Templates\_force_table_hardwired.liquid" />
<EmbeddedResource Include="Templates\_force_table_setpoint.liquid" />
<EmbeddedResource Include="Templates\_force_table_tracked.liquid" />
<EmbeddedResource Include="Templates\_bridge_removal.liquid" />
<EmbeddedResource Include="Styles\ie_workarounds.css" />
<EmbeddedResource Include="Styles\layout.css" />
<EmbeddedResource Include="Styles\colors.css" />
<EmbeddedResource Include="Styles\fonts.css" />
<EmbeddedResource Include="Styles\layering.css" />
<EmbeddedResource Include="Styles\roboto.css" />
<EmbeddedResource Include="Styles\loading.css" />
<EmbeddedResource Include="Styles\matrix.css" />
<EmbeddedResource Include="Scripts\table_links.js" />
<EmbeddedResource Include="Scripts\table_filtering.js" />
<EmbeddedResource Include="Scripts\userlookup.js" />
<EmbeddedResource Include="Scripts\focusin.js" />
<EmbeddedResource Include="Scripts\add_table_rows.js" />
<EmbeddedResource Include="Scripts\show_commissioning_copy.js" />
<EmbeddedResource Include="Scripts\time.js" />
<EmbeddedResource Include="Scripts\remove.js" />
<EmbeddedResource Include="Scripts\matrix.js" />
<EmbeddedResource Include="Scripts\introconfig.js" />
<EmbeddedResource Include="Scripts\textarea_resize.js" />
<EmbeddedResource Include="Scripts\validate_rows.js" />
<EmbeddedResource Include="Documents\Electrical_Bridging_Procedure.pdf" />
<EmbeddedResource Include="Documents\Electrical-Bridging-Procedure.svg" />
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\moment.min.js">
<Link>PaketScripts\moment.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\ramda.min.js">
<Link>PaketScripts\ramda.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\turbolinks.js">
<Link>PaketScripts\turbolinks.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\introjs.min.css">
<Link>PaketScripts\introjs.min.css</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\reset.min.css">
<Link>PaketScripts\reset.min.css</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\Bacon.min.js">
<Link>PaketScripts\Bacon.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\d3.min.js">
<Link>PaketScripts\d3.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\intro.min.js">
<Link>PaketScripts\intro.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\cdnjs.cloudflare.com\jquery.min.js">
<Link>PaketScripts\jquery.min.js</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\fonts.gstatic.com\Zd2E9abXLFGSr9G3YK2MsDR-eWpsHSw83BRsAQElGgc.ttf">
<Link>PaketScripts\Zd2E9abXLFGSr9G3YK2MsDR-eWpsHSw83BRsAQElGgc.ttf</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\paket-files\httpassets\fonts.gstatic.com\zN7GBFwfMP4uA6AR0HCoLQ.ttf">
<Link>PaketScripts\zN7GBFwfMP4uA6AR0HCoLQ.ttf</Link>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\lib\Http\HttpFree.fsproj" />
<ProjectReference Include="..\..\lib\Prelude\Prelude.fsproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Numerics" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
</ItemGroup>
<Import Project="..\..\.paket\Paket.Restore.targets" />
</Project>
Installing net framework 4.7.1 allows it to progress (on the server), so that can potentially be a workaround, but it looks like maybe net461 target is pulling in newer dependencies?
Due to lack of recent activity, this issue has been labeled as 'stale'. It will be closed if no further activity occurs within 30 more days. Any new comment will remove the label.
This issue will now be closed since it has been labeled 'stale' without activity for 30 days.
From @btrepp on March 12, 2018 5:38
In visual studio 15.6 using the new SDK (fsproj), if I build a project it runs fine on the machine, but when deployed to windows server it fails with (whenever it tries to do HTTP calls).
This file is in the output directory
-a---- 11/06/2016 11:13 PM 22760 Microsoft.Win32.Primitives.dll
Why does this work on machines with VS2017 15.6 but not servers?. Especially when the library is on disk and next to the binary?.
Copied from original issue: dotnet/project-system#3369