468,719 Members | 1,755 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,719 developers. It's quick & easy.

Resource embedding problem

I'm trying to embed a report (.rdlc) file in my project. But it always stays
as linked. The 'Persistance' property is grayed & always set to 'Linked at
compile time'.
Upon further inspection i saw that only graphic files, icons & wave files
were able to be embeded. How can i embed other file types? Especially my
report files.

Oct 10 '08 #1
5 6396
Srinidhi wrote:
I'm trying to embed a report (.rdlc) file in my project. But it always stays
as linked. The 'Persistance' property is grayed & always set to 'Linked at
compile time'.
Upon further inspection i saw that only graphic files, icons & wave files
were able to be embeded. How can i embed other file types? Especially my
report files.
The terminology is confusing. "Linked" here doesn't mean "remains as a
separate file" but "is linked together with the .EXE". A "linked" file is
still embedded in your .EXE, it just isn't embedded in the .RESX file. This
should make no functional difference.

If you really want to stuff it in the .RESX for some reason, you can, but
only clumsily: convert the file to a Base64-encoded string and store it as a
string resource. This has storage overhead and also complicates using the
resource.

--
J.
Oct 11 '08 #2
Hello,
You're right. The resources are actually embeded in the exe. I checked it
inside the exe.
Thanks a lot for telling me. I'd have never known otherwise.
But i wonder why i cannot specify the embeded report name and get the
report.

If i use this code for Eg:
ReportViewer1.LocalReport.ReportEmbeddedResource = "EmbReport1";

This error pops up in the report control
"An error occured during local report processing. The report definition for
report
'EmbReport1' has not been specified"

I have no problem getting the report with this instead
ReportViewer1.LocalReport..ReportPath=***\***.rdlc

"Jeroen Mostert" <jm******@xs4all.nlwrote in message
news:48*********************@news.xs4all.nl...
Srinidhi wrote:
>I'm trying to embed a report (.rdlc) file in my project. But it always
stays
as linked. The 'Persistance' property is grayed & always set to 'Linked
at
compile time'.
Upon further inspection i saw that only graphic files, icons & wave files
were able to be embeded. How can i embed other file types? Especially my
report files.
The terminology is confusing. "Linked" here doesn't mean "remains as a
separate file" but "is linked together with the .EXE". A "linked" file is
still embedded in your .EXE, it just isn't embedded in the .RESX file.
This should make no functional difference.

If you really want to stuff it in the .RESX for some reason, you can, but
only clumsily: convert the file to a Base64-encoded string and store it as
a string resource. This has storage overhead and also complicates using
the resource.

--
J.

Oct 11 '08 #3
Srinidhi wrote:
Hello,
You're right. The resources are actually embeded in the exe. I checked it
inside the exe.
Thanks a lot for telling me. I'd have never known otherwise.
But i wonder why i cannot specify the embeded report name and get the
report.

If i use this code for Eg:
ReportViewer1.LocalReport.ReportEmbeddedResource = "EmbReport1";

This error pops up in the report control
"An error occured during local report processing. The report definition for
report
'EmbReport1' has not been specified"

I have no problem getting the report with this instead
ReportViewer1.LocalReport..ReportPath=***\***.rdlc
I don't know anything about whatever type "ReportViewer1" is, so I can't
really help you there.

If I had to guess, though: try specifying the actual, full name of the
resource. This will usually be "<default namespace>.<full name of the
file>". So it'll probably be "MyApplication.Resources.EmbReport1.rdlc" or
something along those lines. You can get the resource names with
Assembly.GetManifestResourceNames().

--
J.
Oct 11 '08 #4
'ReportViewer1' is just the report viewer control name i've used
I've tried everything possible but i'm still not getting it. I'm at the end
of my wits. I guess i'll give it a break and try again tomorrow :)
Thanks a lot for your help

"Jeroen Mostert" <jm******@xs4all.nlwrote in message
news:48*********************@news.xs4all.nl...
Srinidhi wrote:
>Hello,
You're right. The resources are actually embeded in the exe. I checked it
inside the exe.
Thanks a lot for telling me. I'd have never known otherwise.
But i wonder why i cannot specify the embeded report name and get the
report.

If i use this code for Eg:
ReportViewer1.LocalReport.ReportEmbeddedResourc e = "EmbReport1";

This error pops up in the report control
"An error occured during local report processing. The report definition
for report
'EmbReport1' has not been specified"

I have no problem getting the report with this instead
ReportViewer1.LocalReport..ReportPath=***\***.rdl c
I don't know anything about whatever type "ReportViewer1" is, so I can't
really help you there.

If I had to guess, though: try specifying the actual, full name of the
resource. This will usually be "<default namespace>.<full name of the
file>". So it'll probably be "MyApplication.Resources.EmbReport1.rdlc" or
something along those lines. You can get the resource names with
Assembly.GetManifestResourceNames().

--
J.

Oct 11 '08 #5
I Finally Got It!
I just had to write it like this.
reportViewer1.LocalReport.ReportEmbeddedResource = "MyApp.Report1.rdlc";
where
reportViewer1 is the report viewer control's name
MyApp is the proj name
Report1.rdlc name of the resource file.
Although i had set the name of the resource entry to 'EmbReport1', i had to
actually give the name of the file (Report1.rdlc)
Thanks for all the help

"Srinidhi" <Do******@NoMail.comwrote in message
news:%2******************@TK2MSFTNGP04.phx.gbl...
'ReportViewer1' is just the report viewer control name i've used
I've tried everything possible but i'm still not getting it. I'm at the
end of my wits. I guess i'll give it a break and try again tomorrow :)
Thanks a lot for your help

"Jeroen Mostert" <jm******@xs4all.nlwrote in message
news:48*********************@news.xs4all.nl...
>Srinidhi wrote:
>>Hello,
You're right. The resources are actually embeded in the exe. I checked
it inside the exe.
Thanks a lot for telling me. I'd have never known otherwise.
But i wonder why i cannot specify the embeded report name and get the
report.

If i use this code for Eg:
ReportViewer1.LocalReport.ReportEmbeddedResour ce = "EmbReport1";

This error pops up in the report control
"An error occured during local report processing. The report definition
for report
'EmbReport1' has not been specified"

I have no problem getting the report with this instead
ReportViewer1.LocalReport..ReportPath=***\***.rd lc
I don't know anything about whatever type "ReportViewer1" is, so I can't
really help you there.

If I had to guess, though: try specifying the actual, full name of the
resource. This will usually be "<default namespace>.<full name of the
file>". So it'll probably be "MyApplication.Resources.EmbReport1.rdlc" or
something along those lines. You can get the resource names with
Assembly.GetManifestResourceNames().

--
J.


Oct 12 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Chris Murphy via DotNetMonster.com | last post: by
11 posts views Thread by Dave Brown | last post: by
10 posts views Thread by Alain R. | last post: by
1 post views Thread by CARIGAR | last post: by
1 post views Thread by Oskars | last post: by
9 posts views Thread by bryonone | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.