c#路径问题

ruan_hg 2009-03-18 10:42:49
做了个exe文件,如果编译的时候生成路径选择为c:\a.exe,那么双击该文件可以运行。如果再把该exe文件复制到别的地方就不能运行了。
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruan_hg 2009-03-18
  • 打赏
  • 举报
回复
hamehameha:十分感谢,果然是dll没有一起复制的问题。
  • 打赏
  • 举报
回复
可能是软件调用了什么动态库,库在C:\目录下
ruan_hg 2009-03-18
  • 打赏
  • 举报
回复
程序我是在program.cs中的main()中的,就二行代码。其中引用了一个a.dll
第一行:
String p=Enviroment.GetCurrentDirectory();
第二行:
a.DoWork(p);
hamehameha 2009-03-18
  • 打赏
  • 举报
回复
还有你是不是用到了什么第三方的dll了,这个也要和exe放在同一个路径下的
hamehameha 2009-03-18
  • 打赏
  • 举报
回复
兄弟
不能光有exe,还有一些xml和config文件你要把他们放在同一个目录下的啊,你肯定只考了一个exe到其他地方去。。。
ruan_hg 2009-03-18
  • 打赏
  • 举报
回复
这到底是怎么回事?
我插入的测试行,如果把后面的所有程序全部注释掉,则生成后复制到任何位置都可以运行。
否则之可以在生成的位置上运行。用了try catch也找不到错误。
swalp 2009-03-18
  • 打赏
  • 举报
回复
用相对路径吧,灵活一点,变通一点。
深海之蓝 2009-03-18
  • 打赏
  • 举报
回复
估计程序中用到了某些绝对路径,在本机上肯定好用,你找找,把那些绝对路径改成相对路径
ruan_hg 2009-03-18
  • 打赏
  • 举报
回复
确实用到了路径,问题是我在第一行插入一个测试行代码竟然都没有运行到,太奇怪了。
Program.cs
using ……
namespace tt
{
static class t1
{
[STAThread]
static void Main()
//在这里插入测试行
File.WriteAllText(@"c:\a.txt",DateTime.Now.Tostring());
//连这一行都没有执行
……

ruan_hg 2009-03-18
  • 打赏
  • 举报
回复
确实用到了路径,问题是我在第一行插入一个测试行代码竟然都没有运行到,太奇怪了。
Program.cs
using ……
namespace tt
{
static class t1
{
[STAThread]
static void Main()
//在这里插入测试行
File.WriteAllText(@"c:\a.txt",DateTime.Now.Tostring());
//连这一行都没有执行
……

贫僧又回来了 2009-03-18
  • 打赏
  • 举报
回复
那肯定的啊!你的EXE应该还需要其他一些东西的支持!
你要吗打个包!
dyshadow 2009-03-18
  • 打赏
  • 举报
回复
路径判断上有问题?
在根目录下得到的当前工作路径为C:\
而在非根目录下得到的就少了一个\
比如C:\PROGRAM FILES\A.EXE运行后,得到的工作路径是C:\PROGRAM FILES
需要加个判断.
天乐 2009-03-18
  • 打赏
  • 举报
回复
程序中用到了一些路径吧,看看能不能改为相对路径

或者使用环境变量、注册表来解决特殊的路径问题

111,126

社区成员

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

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

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