winform 发布问题

爱篮球的小码农 2012-06-08 09:04:38
在程序的Resource文件夹里我放了很多图片 是程序要用的 写的也都是相对路径

程序发布后运行 就找不到这些图片了 这个要怎么处理啊

菜鸟啊 大侠勿喷啊

而且他上面提示的错误说Resource下的文件找不到

我就把原来的resource文件夹拷到报错的位置了 可是一运行 这个文件夹就自己消失了 。。。。然后还是报错。。。

my god!!
...全文
337 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
孙大诚_SunRobin 2012-06-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

winform的图片是和程序集DLL捆绑在一起的。不是象web那样引用的一个地址。
如果你在设计器里添加图片,按道理是不会出现图片丢失的。

天知道你是怎么弄的图片。
[/Quote]

我曾经这样试过。 我在项目中引用了外部桌面上的图片,并运行了一下。
然后关闭VS,把桌面上的图片删了,然后又打开VS,运行程序,窗体上图片依然存在。

我是这样想到,程序在第一次运行的时候,把图片拷贝了一份到自己的项目中,请问是这样吗?
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

winform的图片是和程序集DLL捆绑在一起的。不是象web那样引用的一个地址。
如果你在设计器里添加图片,按道理是不会出现图片丢失的。

天知道你是怎么弄的图片。
[/Quote]


我想了想,其实我就是需要找个地方放图片就行 程序安装时建个文件夹就行
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

做成资源文件,放到项目的资源中
[/Quote]


哦哦哦 我理解了 可是这个里面很多图片在程序操作过程中要改变的 或者添加 或者删除 看来我得修改代码了

顺便问一下 有些程序安装过程中会提示你选个程序保存文件的默认路径 这个是怎么做到的啊
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把图片打包在程序的资源里面,然后在代码中引用资源中的图片
[/Quote]


哦哦哦 我理解了 可是这个里面很多图片在程序操作过程中要改变的 或者添加 或者删除 看来我得修改代码了

顺便问一下 有些程序安装过程中会提示你选个程序保存文件的默认路径 这个是怎么做到的啊
bwangel 2012-06-08
  • 打赏
  • 举报
回复
winform的图片是和程序集DLL捆绑在一起的。不是象web那样引用的一个地址。
如果你在设计器里添加图片,按道理是不会出现图片丢失的。

天知道你是怎么弄的图片。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

做成资源文件,放到项目的资源中
[/Quote]


什么意思啊?能说的详细点嘛??谢谢大侠了
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把图片打包在程序的资源里面,然后在代码中引用资源中的图片
[/Quote]


你说的资源是Resource文件夹吗》??

你说的引用是添加引用还是什么??
bdmh 2012-06-08
  • 打赏
  • 举报
回复
做成资源文件,放到项目的资源中
xsh2003 2012-06-08
  • 打赏
  • 举报
回复
把图片打包在程序的资源里面,然后在代码中引用资源中的图片
完整的服务端及客户端调用程序,在win7+ vs2015环境运行通过. 一、说明 1、创建winfrom应用程序;(或者是控制台项目) 2、在项目中添加一个WCF服务,并实现服务; 3、在需要启动WebService服务的地方启动该服务即可; 二、代码如下: 1、新建一个WCF服务——定义服务接口    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]     public interface ICalculator     {         [OperationContract]         double Add(double n1, double n2);     } 2、新建一个WCF服务——实现服务 public class CalculatorService : ICalculator     {         public double Add(double n1, double n2)         {             return n1 + n2;         }     } 3、添加完WcF服务后会在应用程序配置文件中有入下节点                             <!--TestServer.ICalculator服务定义的接口,根据自己定义进行修改-->                                                                   <baseAddresses> <!--这个是要发布的服务地址,可以进行修改-->                                   </baseAddresses>                   4、在要启动服务的地方启动服务监听   public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { try { //打开服务创建监听,并开始监听消息 ServiceHost serviceHost = new ServiceHost(typeof(Service1));//需要using System.ServiceModel; serviceHost.Open(); label1.Text = "服务启动正常"; } catch (Exception ex) { label1.Text = ex.Message; } } 5、下面可以在客户端通过上面的服务地址”http://xxx.xxx.xxx.xx:8733/test/Service1/“对服务进行调用 到这步就实现在控制台中实现webService的发布

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧