相关疑难解决方法(0)

如何获取代码所在的程序集路径?

有没有办法获取当前代码所在的程序集的路径?我不想要调用程序集的路径,只需要包含代码的路径.

基本上我的单元测试需要读取一些相对于dll的xml测试文件.无论测试dll是从TestDriven.NET,MbUnit GUI还是其他东西运行,我都希望路径始终正确解析.

编辑:人们似乎误解了我的要求.

我的测试库位于说

C:\项目\ MyApplication的\ daotests\BIN \调试\ daotests.dll

我想得到这条道路:

C:\项目\ MyApplication的\ daotests\BIN \调试\

当我从MbUnit Gui运行时,到目前为止这三个建议都让我失望:

  • Environment.CurrentDirectory 给出c:\ Program Files\MbUnit

  • System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location 给出C:\ Documents and Settings\george\Local Settings\Temp\....\DaoTests.dll

  • System.Reflection.Assembly.GetExecutingAssembly().Location 与前一个相同.

.net c# reflection

746
推荐指数
20
解决办法
58万
查看次数

dll.config没有复制到临时的asp.net文件夹中

我有一个Web.Api应用程序,它使用来自不同程序集的函数.对于这个程序集,我创建了一个.config文件,我存储了一些字符串.

我使用以下代码来获取其中一个字符串:

private static string LogUrl = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location).AppSettings.Settings["WebApi-LogUrl"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)

Assembly.GetExecutingAssembly().Location指向临时的asp.net文件,(C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\dc2fa3d4\834ee436\assembly\dl3\cd068512)但我的dll.config文件不是在那里复制.结果是我无法调试我的应用程序,并且在真正的IIS服务器上运行代码时它也给出了null.

如果我在获取设置之前设置了一个断点,我可以抓住临时文件夹,当我复制我的dll.config文件时,一切正常,但我应该如何自动完成.

我将我的dll.config文件的属性设置为"构建操作:内容","复制到输出目录:始终"

任何帮助将不胜感激,现在谷歌搜索了几个小时.:(

最诚挚的问候,Peter Larsson!

asp.net configurationmanager

11
推荐指数
1
解决办法
2814
查看次数

C#:带有IXMLSerializable成员的WCF服务变为DataSet

.净

我有一个Web服务,消息的一个数据成员实现IXmlSerializable,当我执行"添加服务引用"时,该成员成为DataSet.

我试图将序列化Expression<TDelegate>作为参数传递给Web服务.

问:如何在客户端DataSet进行IXmlSerializable实例化?

.net c# wcf dataset ixmlserializable

8
推荐指数
2
解决办法
3843
查看次数