BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
yhz
Fluorite | Level 6 yhz
Fluorite | Level 6

I am using the code in your book, page 190, as below. I also set the Build Action property to: Embedded Resources.

The SAS program is in the BatchRun Solution Explore by Add Existing Item. But in the next line, when I use MessageBox.Show(macro) to check its value, it is blank. Wondering where did I miss something?

 

string macro = SAS.Tasks.Toolkit.Helpers.UtilityFunctions.ReadFileFromAssembly("SAS.Tasks.BatchRun.test.sas");

MessageBox.Show(macro);

 

Thanks!

Yihong

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisHemedinger
Community Manager

I think that the most likely cause is a mismatched namespace.  In your function call, you reference the "SAS.Tasks.BatchRun" namespace.  But is that really the default namespace for your assembly?

 

Check the Project properties (Application tab) in Visual Studio, and verify that the "Default namespace" is SAS.Tasks.BatchRun.  If it's not, you'll have to change your call to ReadFileFromAssembly to match what is the default namespace.

 

You can also verify the embedded resource full name by running ILDASM on your DLL file, and looking at the manifest.  That will tell you the full namespace referenced.

 

Chris

SAS For Dummies 3rd Edition! Check out the new edition, covering SAS 9.4, SAS Viya, and all of the modern ways to use SAS!

View solution in original post

2 REPLIES 2
ChrisHemedinger
Community Manager

I think that the most likely cause is a mismatched namespace.  In your function call, you reference the "SAS.Tasks.BatchRun" namespace.  But is that really the default namespace for your assembly?

 

Check the Project properties (Application tab) in Visual Studio, and verify that the "Default namespace" is SAS.Tasks.BatchRun.  If it's not, you'll have to change your call to ReadFileFromAssembly to match what is the default namespace.

 

You can also verify the embedded resource full name by running ILDASM on your DLL file, and looking at the manifest.  That will tell you the full namespace referenced.

 

Chris

SAS For Dummies 3rd Edition! Check out the new edition, covering SAS 9.4, SAS Viya, and all of the modern ways to use SAS!
yhz
Fluorite | Level 6 yhz
Fluorite | Level 6

Hi Chris,

 

That is exactly what happened! It works now.

Thank you very much for your help!

 

Yihong

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1368 views
  • 1 like
  • 2 in conversation