Skip to content

Add a runtime check for Microsoft.IO.Redist #7335

Closed

Description

Since #6771 merged, the net472 build uses Microsoft.IO.Redist (M.IO.R) instead of System.IO. This is a problem when running the net472 build on Linux or MacOS, since M.IO.R pinvokes into Kernel32 which is a Windows library.

1093 System.EntryPointNotFoundException: GetFullPathNameW assembly:<unknown assembly> type:<unknown type> member:(null) 
1094 at (wrapper managed-to-native) Interop+Kernel32.GetFullPathNameW(char&,uint,char&,intptr) 
1095 at System.IO.PathHelper.GetFullPathName (System.ReadOnlySpan`1[T] path, System.Text.ValueStringBuilder& builder) [0x0001c] in <d528d43e4d354c288aa6a5ce49a5eba7>:0 
1096 at System.IO.PathHelper.Normalize (System.String path) [0x00021] in <d528d43e4d354c288aa6a5ce49a5eba7>:0 
1097 at Microsoft.IO.Path.GetFullPathInternal (System.String path) [0x0000f] in <d528d43e4d354c288aa6a5ce49a5eba7>:0 
1098 at Microsoft.IO.Path.GetFullPath (System.String path) [0x00044] in <d528d43e4d354c288aa6a5ce49a5eba7>:0 

It would be good to have a runtime check and fallback to System.IO on non-windows platforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

MonoMono-specific issues. Also see https://github.com/mono/msbuildPartner requesttriagedxplat

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions