Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >设置互操作com对象的app.config文件的位置

设置互操作com对象的app.config文件的位置
EN

Stack Overflow用户
提问于 2013-07-09 04:00:58
回答 1查看 994关注 0票数 1

我正在用VS2010和VB.net (互操作)创建一个windows com对象。

此com对象应该能够与任何非托管代码应用程序一起工作,例如word、Excel或在本例中为Access。

com对象的创建和使用regasm等工作正常。没问题。

但是,当我从app.config文件创建一个需要连接字符串或任何其他内容的com对象时,它就失败了。在这种情况下,它恰好是一个web服务,并且发生了常见的“端点”或app.config文件找不到错误。(如果它只是一个连接字符串,我会简单地读入这个值-但由于web服务定义,配置文件相当混乱)。

有些人建议将.dll和app.config放在与Excel.exe.config等办公程序相同的目录中,然后将配置文件重命名为.dll。

这似乎对我不起作用。

有没有办法让现在是com对象的vb.net类( .dll )加载并使用.dll的配置文件,而不是某个主应用程序文件?

请注意,在这种情况下,我没有主应用程序配置文件,因为我正在启动一个非托管应用程序,如word或Excel,并尝试使用我的类对象。

显然,在vb.net中,我可以将.dll中的配置文件内容复制到主应用程序配置中,然后我们就可以开始比赛了。我没有如前所述的托管“主”文件。

那么,当在非托管代码中创建对象的实例时,如何让class.dll文件加载class.dll.config文件?

EN

回答 1

Stack Overflow用户

发布于 2013-07-09 10:02:06

在类库中使用应用程序设置通常是一种糟糕的做法,.NET仅支持在EXE项目中使用这些设置。在EXE的情况下,这是脱离图表的,你完全不能控制哪个ComVisible使用你的代码。

这并不是说它不工作,在foo.exe客户机目录中放一份foo.exe.config的副本就可以了。当你不是唯一一个寻找这个解决方案的人时,麻烦就来了。现在安装程序开始覆盖彼此的.config文件,当插件无法诊断地失败时,您的客户会损失很大的时间。

这个问题只有一个解决方案:不要使用设置。为类库提供配置的其他方式有很多。在已知位置的.xml文件也可以很好地工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17539663

复制
相关文章
字符串对象位置相关操作
indexOf()获取字符首次出现的位置 ar str='www.baidu.com百度一下,你就知道'; //indexOf()获取字符首次出现的位置 document.write(str.indexOf('百')+'<br />'); lastIndexOf()获取字符最后出现的位置 document.write(str.lastIndexOf('w')+'<br />'); 字符串查找match 找到返回改值,找不到返回null document.write(str.match('百度'));
十月梦想
2018/08/29
7780
DataFrame与RDD的互操作
DataFrame Interoperating with RDDs 参考官网 http://spark.apache.org/docs/2.2.0/sql-programming-guide.html#interoperating-with-rdds DataFrame和RDD互操作的两种方式比较: 1)反射推导式:case class 前提:事先需要知道字段、字段类型 2)编程式:Row 如果第一种情况不能满足要求(事先不知道列等schema信息) 选型:优先考虑第一种,使用
sparkle123
2018/04/26
8790
DataFrame与RDD的互操作
Net操作配置文件(Web.config|App.config)通用类
一、Net操作web.config通用类(代码如下): using System; using System.Configuration; using System.Web; using System.Web.Configuration; /// ConfigurationOperator 的摘要说明 public class ConfigurationOperator : IDisposable { private Configuration config; public Config
磊哥
2018/05/08
8470
文件的指针位置
f = open('指针测试.txt','a+',encoding='utf-8') # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b的区别 # tell() 显示文件指针 print(f.tell()) # 更改文件指针的位置 seek(偏移量,whence) # 偏移量是数字,距离whence字符数 # whence:0:文件开头 1:当前位置 2:文件结尾 seek(10,0) # 可能只有rb或者rb+的时候偏移量才能是负数,也就是倒着数,这里笔者没有具体测试 # f.
汪凡
2018/05/29
1.4K0
【文件操作】Java -操作File对象
.29.
2023/10/25
1990
三、文件的操作、函数、类和对象
一、文件 文件的打开与关闭 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('test.txt', 'w') 说明: 访问模式说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有
酱紫安
2018/04/16
1.3K0
三、文件的操作、函数、类和对象
对象存储 节省流量 & 文件的更多操作
阿里云的说明 :https://help.aliyun.com/document_detail/183902.html
收心
2022/01/19
8300
对象存储 节省流量 & 文件的更多操作
jquery操作元素的位置
.offset()   在匹配的元素中,获取第一个元素的当前坐标,或设置每一个元素的坐标,坐标相对于文档。   .offset() 这个不接受任何参数。     var offset = p.offset(); //获取到这个元素的位置       p.html( "left: " + offset.left + ", top: " + offset.top ); .offset.left 元素距左面的距离 .offset
用户1197315
2018/01/19
3.4K0
最简洁的设置ssh互免密登录
直接回车,会在~/.ssh/目录下生成私钥id_rsa和公钥 id_rsa.pub
用户1409099
2019/05/14
2.7K0
C# 读写App.config配置文件的方法
一、配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义的配置节。我们经常使用的配置文件的架构是客诉下面的形式。先大概有个印象,通过后面的实例会有一个比较清楚的认识。下面的“配置节”可以理解为进行配置一个XML的节点。 常见配置文件模式: <configuration> <configS
庞小明
2018/03/07
8.9K0
面向对象(二十)-文件操作
项目中的文件操作,要求将项目中添加的文件放到项目输出目录下。 首先将文件拖拽到项目目录下。然后如下操作:
孙寅
2020/06/02
4340
【说站】python设置的窗口位置
2、参数使用,"-x":表示窗口底部与屏幕右侧的距离为x,"-y":表示窗口底部与屏幕底部的距离为y。
很酷的站长
2022/11/23
3.1K0
【说站】python设置的窗口位置
Kotlin与Java互操作
互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的。同时,在进行Java编程时也可以调用Kotlin中的API接口。
xiangzhihong
2022/11/30
3.5K0
CUDA与OpenGL互操作
当处理较大数据量的时候,往往会用GPU进行运算,比如OpenGL或者CUDA。在实际的操作中,往往CUDA实现并行计算会比OpenGL更加方便,而OpenGL在进行后期渲染更具有优势。由于CUDA中的运算结果存储在GPU中,如果将数据download到CPU,然后再将CPU中的数据上传到GPU,使用OpenGL进行渲染,中间的GPU与CPU的交互会很耗时,毕竟使用GPU的目的就是为了加速,这样的数据传输会降低效率。 接下来简要说一下如何使CUDA和OpenGL互操作来实现GPU中数据的交互传输,而不用通过主
一棹烟波
2018/01/12
1.8K0
Kotlin的互操作——Kotlin与Java互相调用
小编说:互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的。同时,在进行Java编程时也可以调用Kotlin中的API接口。
博文视点Broadview
2020/06/11
3.8K0
App.config和Web.config配置文件的配置节点的解析
  在http://www.cnblogs.com/aehyok/p/3558661.html这篇博文中,大致对配置文件有了初步的了解,并且在文中有提到过<appSettings>和<connectionStrings>这两个节点,在本文中将会介绍学习其他节点。
aehyok
2018/08/31
1.3K0
PyTorch数据和NumPy数据之间的互操作
说明,由于Python的缓存协议,只要PyTorch的数据是在cpu上,不是在GPU上,那么torch.Tensor类型的数据和numpy.ndarray的数据是共享内存的,相互之间的改变相互影响.This zero-copy interoperability with NumPy arrays is due to the storage system working with the Python buffer protocol (https://docs.python.org/3/c-api/buffer.html).
狼啸风云
2021/04/01
1K0
点击加载更多

相似问题

挂起互操作COM对象的问题

42

COM对象excel互操作清理

13

对COM互操作对象的思考

31

无法释放Excel互操作COM对象

15

COM互操作问题

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文