Giter Site home page Giter Site logo

nxports's People

Contributors

dependabot[bot] avatar filmor avatar github-actions[bot] avatar meiktranel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nxports's Issues

Explore GitHub Actions and GPR

Now that we've been granted access to GPR and Actions Beta, we should explore to move away from Azure DevOps, because it's just to heavy for our needs, while GitHub Actions offers a very tight integration and a very nice barebones model to work with.

Add support for .NET Core

I would like to contribute the code needed to support .NET Core.
This would require:

  • special code for CallingConvetion
  • copy any ".runtimeconfig.json" and ".runtimeconfig.dev.json" to the target destination if present
  • support in dnlib (already created a PR there)

Remove attributes and references

Because the attribute doesn't have any purpose at runtime, we should be removing them including the assembly reference onto NXPorts.Attributes.

Freshly cleaned out workspaces without obj files make the AssemblyExportWriterTask crash

When opening a project using NXPorts 0.1.0 without already built binaries in the obj directory, the
AssemblyExportWriterTask tries to read from the intermediate assembly which does not exist yet... failing the task.
To add insult to injury, the fact that msbuild is crashed prevents the dll from being produced, forcing you to remove NXPorts before actually being able to do designtime anything.

MSB4018	The "AssemblyExportWriterTask" task failed unexpectedly.
System.ArgumentException: The given file path does not exist.
Parameter name: assemblyFilePath
   at NXPorts.ExportAttributedAssembly..ctor(String assemblyFilePath) in d:\a\1\s\src\NXPorts\ExportAttributedAssembly.cs:line 17
   at NXPorts.AssemblyExportWriterTask.Execute() in d:\a\1\s\src\NXPorts\AssemblyExportWriterTask.cs:line 27
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

image

Report overlapping export definitions to avoid undefined behavior caused by duplicate aliases

NXPorts & .NET Framework currently allow for a DLL to export two functions using the same alias. This results in multiple entries in the export table with the same function name. This is allowed behavior since export functions are identified by their cardinal index in the export table; in 99% cases however this entirely undesired behavior since no one really loads via index.

Release Checklist for `v1.1`

  • Verify correct version in Global Properties to 1.1
  • Verify that the Changelog
    • List all closed issues in this release
    • List all contributors who helped with this release
    • Check for updated license in dependencies and add package dep changes to CHANGES.md
  • Wait for latest canary build to succeed
    • Automated tests succeed on all supported platforms
    • Manual testing on the canary build
  • Run manual action "create-release"
    • Check and publish draft release
  • Wait for tagged release build to finish
    • Approve deployment to NuGet Gallery

Remove NXPorts.Attributes.dll the build output

While #4 is already closed, a dotnet build will still copy the NXPorts.Attributes assembly over. I have to inspect whether this is due to a reference or whether there is additional work that needs to be done on the MSBuild side of things.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.