使用Visual studio,我可以在编译时获取计算机名吗?

时间:2010-11-12 16:37:30

标签: .net visual-studio-2010

我希望有类似的东西:

let COMP_NAME = %some_type_of_flag%

因此,在编译时,这将更改为

let COMP_NAME = "MyComputerName"

编辑:我看到我的问题不完整。这是一个silverlight应用程序。看起来环境没有MachineName。我正在使用f#。

编辑:我正在使用Visual Studio 2010,后面的代码是f#(不要问)。我想这样做的原因是在我们的开发环境中,我们在本地机器上运行服务器。当有人签出代码时,他们必须在代码中输入他们的机器名称。当您在本地访问应用程序时使用“localhost”,显然从另一台计算机访问它时,这将无法正常工作。所以解决方案必须在构建时。

我不确定我使用的编译器是什么,无论VS2010中的默认f#编译器是什么。

3 个答案:

答案 0 :(得分:3)

我不知道如何做到比以下更简单。您想要设置预建步骤(项目 - >属性 - >构建事件 - >预构建事件命令行)。

在这里,您可以设置一个程序,该程序将通过源文件进行尖叫,并使用值%MachineName%替换某些特定标记(Environment.MachineName)。这是一个你必须单独写的程序。

答案 1 :(得分:-1)

让COMP_NAME = Environment.MachineName

答案 2 :(得分:-1)

我找到了我正在寻找的解决方案,并且它没有在编译时获得计算机名称,而是在运行时获取源主机。

let host = Application.Current.Host.Source.Host
let uri = new Uri("https://" + host)