Comments (6)
The managed DLLs don't contain any architecture-specific code and you should be able to run them on all runtimes, provided you don't expect certain features to exists (e.g. directly accessing x64 hardware intrinsics in .net core libraries without checking for support on the current machine)
from standard.
Net Standard is by definition runtime-agnostic since it isn't even a runnable framework to begin with. In reality it is just an API spec that you can be guaranteed is implemented on all platforms that support it. If your library has API that should behave differently on ARM architecture, my suggestion would be to perform a runtime check when your method gets called so that if you are running on arm you do whatever you need to do like:
public void Foo()
{
if (RuntimeInformation.ProcessArchitecture == Architecture.Arm)
{
// do your arm things
}
else
{
// ...
}
}
This way your library is still platform-agnostic in the sense that it still works when consumed on arm vs other archs, but you can fork your implementation to react accordingly.
from standard.
Also, regarding cross-compiling for different RIDs, this is not supported by the SDK today. You can cross-compile for different frameworks (netcoreapp, net461, netstandard) but not for different Rids (linux, win, etc.)
from standard.
Thanks @joperezr We do not have anything in our library that needs to behave differently on ARM platform. Does that mean that our compiled code for a specific target framework ( netstandard2.0) will work on an ARM based device with no changes. I was under the impression that the dll that gets built would be different for x86/x64 vs ARM. Can you confirm this?
from standard.
Right, as @dasMulli points out you can assume that if you don't use anything that will be processor-specific then your library should already be working on arm.
from standard.
Closing issue as the question seems to be answered now, but @viralmodi feel free to reopen if you feel otherwise or if you have any follow ups, we are happy to help.
from standard.
Related Issues (20)
- Build issues when referencing project that targets multiple frameworks C# WPF HOT 1
- Questions about tagging within this repository / future versions HOT 1
- System.Drawing.Printing.PrinterSettings slow HOT 1
- Support with Universal Windows Platform HOT 2
- Update docs to reflect the status of .NET Standard in 2020 HOT 2
- [BUG] [UWP] GetManifestResourceInfo doesn't work on UWP HOT 3
- Value Tuple Could not load file or assembly 'System.ValueTuple, Version=4.0.1.0, HOT 1
- mono and .NET5+ HOT 8
- Security Vulnerability due to System.Text.RegularExpressions HOT 4
- Issue with resolving between .NET Standard 2.0 and .NET Standard 2.1 HOT 3
- Class ValueTask has different definitions between .Net Standard 2.1 and .Net 5 HOT 1
- Strong name signature not valid HOT 5
- Assembly version for DispatchProxy shim is too low resulting in duplicate types for DispatchProxy HOT 10
- linq using GetValueOrDefault in Where clause problem HOT 3
- DbCommand.ExecuteReaderAsync throws TaskCanceledException with wrong CancellationToken HOT 2
- [Feature Request] Allow Static Method In Interface HOT 3
- [question] Will Garbage Collector Collect Memebers, When Object Is Casted To Parent Type, That Is Now Inaccessible On The Type Of Reference? HOT 2
- [Feature Request] Support for MultiSet & MultiMap in System.Collections.Generic HOT 3
- Support of 'IAsyncComparer' for Linq operations. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from standard.