我这个有点奇怪的问题的原因很简单。我想在我的开发盒上以 32 位的方式运行我的控制台,仅仅是因为编辑和继续的便利,这可以节省愚蠢错误的时间——只需当场修复它们并继续。
但我也不想更改构建配置,因为它处于源代码控制之下,我会忘记将其设置回“任何 cpu”,如果我将其设置为,我们最终会部署错误的映像版本“x86”。
有没有办法让我两全其美?
我这个有点奇怪的问题的原因很简单。我想在我的开发盒上以 32 位的方式运行我的控制台,仅仅是因为编辑和继续的便利,这可以节省愚蠢错误的时间——只需当场修复它们并继续。
但我也不想更改构建配置,因为它处于源代码控制之下,我会忘记将其设置回“任何 cpu”,如果我将其设置为,我们最终会部署错误的映像版本“x86”。
有没有办法让我两全其美?
您可以为调试和发布设置单独的项目配置,也可以创建自己的。我将创建第三个名为 Local 的项目配置并将该平台设置为 32 位 (x86)。您可以使用该配置进行工作。当您需要在构建之前创建可部署版本时切换到发布。
作为额外的保护措施,您可以将您的 SVN 设置为“忽略”您之前创建的本地构建文件夹,以确保它不会进入您的 SVN。
可以在 Visual Studio 中绿色“播放”按钮旁边的下拉菜单中访问项目配置设置。它默认读取“Debug”,或者有时会说“Release”。
有什么帮助吗?
最后,我选择了以下解决方案:
在我的解决方案中添加一个名为 32bitLauncher 的新控制台应用程序项目。将此构建配置设置为仅针对 x86。然后将我的各种批处理类及其主要方法公开,并在启动器中定义多个入口点,如下所示:
class Prefill
{
static void Main(string[] args)
{
PrefillBatch.Main(args);
}
}
class Correspondence
{
static void Main(string[] args)
{
CorrespondenceBatch.Main(args);
}
}
现在我可以在批量切换时在启动器的属性页中选择启动对象,实际上比更改启动项目更方便(因为我无论如何都需要进入属性页设置命令行参数)。即使在 64 位硬件上,这也会强制执行 32 位,你瞧,我可以编辑并继续!