Trying to port existing powershell-depending class library from .NET Framework2019 Community Moderator ElectionWhich .NET Dependency Injection frameworks are worth looking into?Why not inherit from List<T>?Accessing Citrix Powershell SDK (or other 3rd party ps SDK) from C# .NETCreating PowerShell module via .NET class libraryRunning PowerShell from .NET CoreCovert .Net Core Library to .Net Framework LibraryWhat is the difference between .NET Core and .NET Standard Class Library project types?.NETStandard Library 1.6.0 dependency in .NET Core applicationTarget .NET Core Class Library From .NET Framework 4.6.2 Class LibraryConvert .NET Core 2.0 class libraries to .NET Standard

Aliens englobed the Solar System: will we notice?

Offered promotion but I'm leaving. Should I tell?

Can someone explain what is being said here in color publishing in the American Mathematical Monthly?

Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?

How to create a hard link to an inode (ext4)?

Best approach to update all entries in a list that is paginated?

Subset counting for even numbers

How do I express some one as a black person?

Is having access to past exams cheating and, if yes, could it be proven just by a good grade?

Extra alignment tab has been changed to cr. } using table, tabular and resizebox

Examples of a statistic that is not independent of sample's distribution?

Are the terms "stab" and "staccato" synonyms?

Why does the negative sign arise in this thermodynamic relation?

How do I locate a classical quotation?

How could our ancestors have domesticated a solitary predator?

If the Captain's screens are out, does he switch seats with the co-pilot?

Grey hair or white hair

Could you please stop shuffling the deck and play already?

How do you like my writing?

Is it true that real estate prices mainly go up?

Should I tell my boss the work he did was worthless

Does "variables should live in the smallest scope as possible" include the case "variables should not exist if possible"?

Who deserves to be first and second author? PhD student who collected data, research associate who wrote the paper or supervisor?

How strictly should I take "Candidates must be local"?



Trying to port existing powershell-depending class library from .NET Framework



2019 Community Moderator ElectionWhich .NET Dependency Injection frameworks are worth looking into?Why not inherit from List<T>?Accessing Citrix Powershell SDK (or other 3rd party ps SDK) from C# .NETCreating PowerShell module via .NET class libraryRunning PowerShell from .NET CoreCovert .Net Core Library to .Net Framework LibraryWhat is the difference between .NET Core and .NET Standard Class Library project types?.NETStandard Library 1.6.0 dependency in .NET Core applicationTarget .NET Core Class Library From .NET Framework 4.6.2 Class LibraryConvert .NET Core 2.0 class libraries to .NET Standard










1















I have .NET Framework class library with some code using older Powershell:



using System.Management.Automation.Runspaces;
using System.Management.Automation;

//some code executing powershell commands in runspaces and processing results, similar to this:
var runspace = RunspaceFactory.CreateRunspace();
using (var powerShell = PowerShell.Create())

powerShell.Runspace = runspace;
powerShell.Commands.AddScript(psscript);
results = powerShell.Invoke();
//process results, etc...



I'm trying to port it to .NET Core, using package Microsoft.Powershell.SDK with Powershell Core. It works fine for the most part, but for obvious reasons it can't run legacy powershell commands (add-pssnapin, etc).



This class library is intended to be used on a wide range of machines, some of them requiring those old powershell commands to work and others requiring to use Powershell Core. How do I achieve this?



The only solution I can think of is making two separate projects, one of them for .NET Framework and another for .NET Core, but having two projects with same code(except for 4-5 lines with those old commands) seems like a bad idea. Is there a better way to accomplish this?










share|improve this question
























  • Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

    – Flydog57
    Mar 6 at 16:20











  • @Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

    – user2363676
    Mar 6 at 16:38















1















I have .NET Framework class library with some code using older Powershell:



using System.Management.Automation.Runspaces;
using System.Management.Automation;

//some code executing powershell commands in runspaces and processing results, similar to this:
var runspace = RunspaceFactory.CreateRunspace();
using (var powerShell = PowerShell.Create())

powerShell.Runspace = runspace;
powerShell.Commands.AddScript(psscript);
results = powerShell.Invoke();
//process results, etc...



I'm trying to port it to .NET Core, using package Microsoft.Powershell.SDK with Powershell Core. It works fine for the most part, but for obvious reasons it can't run legacy powershell commands (add-pssnapin, etc).



This class library is intended to be used on a wide range of machines, some of them requiring those old powershell commands to work and others requiring to use Powershell Core. How do I achieve this?



The only solution I can think of is making two separate projects, one of them for .NET Framework and another for .NET Core, but having two projects with same code(except for 4-5 lines with those old commands) seems like a bad idea. Is there a better way to accomplish this?










share|improve this question
























  • Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

    – Flydog57
    Mar 6 at 16:20











  • @Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

    – user2363676
    Mar 6 at 16:38













1












1








1








I have .NET Framework class library with some code using older Powershell:



using System.Management.Automation.Runspaces;
using System.Management.Automation;

//some code executing powershell commands in runspaces and processing results, similar to this:
var runspace = RunspaceFactory.CreateRunspace();
using (var powerShell = PowerShell.Create())

powerShell.Runspace = runspace;
powerShell.Commands.AddScript(psscript);
results = powerShell.Invoke();
//process results, etc...



I'm trying to port it to .NET Core, using package Microsoft.Powershell.SDK with Powershell Core. It works fine for the most part, but for obvious reasons it can't run legacy powershell commands (add-pssnapin, etc).



This class library is intended to be used on a wide range of machines, some of them requiring those old powershell commands to work and others requiring to use Powershell Core. How do I achieve this?



The only solution I can think of is making two separate projects, one of them for .NET Framework and another for .NET Core, but having two projects with same code(except for 4-5 lines with those old commands) seems like a bad idea. Is there a better way to accomplish this?










share|improve this question
















I have .NET Framework class library with some code using older Powershell:



using System.Management.Automation.Runspaces;
using System.Management.Automation;

//some code executing powershell commands in runspaces and processing results, similar to this:
var runspace = RunspaceFactory.CreateRunspace();
using (var powerShell = PowerShell.Create())

powerShell.Runspace = runspace;
powerShell.Commands.AddScript(psscript);
results = powerShell.Invoke();
//process results, etc...



I'm trying to port it to .NET Core, using package Microsoft.Powershell.SDK with Powershell Core. It works fine for the most part, but for obvious reasons it can't run legacy powershell commands (add-pssnapin, etc).



This class library is intended to be used on a wide range of machines, some of them requiring those old powershell commands to work and others requiring to use Powershell Core. How do I achieve this?



The only solution I can think of is making two separate projects, one of them for .NET Framework and another for .NET Core, but having two projects with same code(except for 4-5 lines with those old commands) seems like a bad idea. Is there a better way to accomplish this?







c# .net powershell .net-core






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 6 at 16:37







user2363676

















asked Mar 6 at 16:16









user2363676user2363676

6219




6219












  • Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

    – Flydog57
    Mar 6 at 16:20











  • @Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

    – user2363676
    Mar 6 at 16:38

















  • Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

    – Flydog57
    Mar 6 at 16:20











  • @Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

    – user2363676
    Mar 6 at 16:38
















Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

– Flydog57
Mar 6 at 16:20





Is this a PowerShell Module (i.e., code that implements Cmdlets or PSCmdlets) or is it something else? Do you really use Snapins (they haven't been around for a while I believe).

– Flydog57
Mar 6 at 16:20













@Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

– user2363676
Mar 6 at 16:38





@Flydog57 No, code is just executing powershell commands in runspaces and processes results. Executing commands, howerver, requires old third party snapins in some cases.

– user2363676
Mar 6 at 16:38












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027641%2ftrying-to-port-existing-powershell-depending-class-library-from-net-framework%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027641%2ftrying-to-port-existing-powershell-depending-class-library-from-net-framework%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

1928 у кіно

Захаров Федір Захарович

Ель Греко