我使用LINQPad连接到不同的环境,比如“本地”和“开发”。连接设置在LINQPad.exe的配置文件中。
为了帮助我组织我的设置,我想我应该制作几个LINQPad.exe副本,用相应的配置文件重命名它们,如下所示:
但是LINQPad.exe在一开始就抱怨:
应用程序必须命名为LINKPad.exe才能运行。
为什么会这样呢?
很明显,我不是在问如何管理我的配置文件(我现在有不同的文件夹)--我更好奇的是,有什么编程原因可以强制执行进程的名称?
发布于 2013-02-15 16:19:26
如果您查看Reflector中的源代码,您将看到它需要一个特定的名称。
if (Path.GetFileName(Assembly.GetExecutingAssembly().Location).ToLowerInvariant() != "linqpad.exe")
{
MessageBox.Show("The application must be named LINQPad.exe in order to run.", "LINQPad");
}它还按名称引用配置文件,因此它可以强制使用程序集名称来保持简单。
发布于 2013-02-16 01:40:58
执行此操作的原因是查询依赖于LINQPad.exe (对于.Dump()等方法)。因此,如果重命名文件,CLR将无法找到正确的程序集。
https://stackoverflow.com/questions/14898751
复制相似问题