C# 如何在构建项目时从配置文件中读取值?
我用WIX3.8和VS2013(C#)编程了一个引导程序项目。 在项目文件中,您可以创建类似的属性,用于从应安装的EXE文件获取生成版本:C# 如何在构建项目时从配置文件中读取值?,c#,wix,C#,Wix,我用WIX3.8和VS2013(C#)编程了一个引导程序项目。 在项目文件中,您可以创建类似的属性,用于从应安装的EXE文件获取生成版本: <Target Name="BeforeBuild"> <!-- Set the Variable BuildVersion --> <GetAssemblyIdentity AssemblyFiles="../FilesForSetup/MyApp.exe"> <Output Tas
<Target Name="BeforeBuild">
<!-- Set the Variable BuildVersion -->
<GetAssemblyIdentity AssemblyFiles="../FilesForSetup/MyApp.exe">
<Output TaskParameter="Assemblies" ItemName="AsmInfo" />
</GetAssemblyIdentity>
<CreateProperty Value="%(AsmInfo.Version)">
<Output TaskParameter="Value" PropertyName="BuildVersion" />
</CreateProperty>
<CreateProperty Value="$(DefineConstants)">
<Output TaskParameter="Value" PropertyName="DefineConstantsOriginal" />
</CreateProperty>
<CreateProperty Value="$(DefineConstants);BuildVersion=$(BuildVersion)">
<Output TaskParameter="Value" PropertyName="DefineConstants" />
</CreateProperty>
</Target>
现在,我想将Web服务器登录的一些属性(url、用户、pw)放入一个配置文件中,在构建时读取这些属性,并将它们放入项目属性中。
可以这样做吗?哪种类型的配置文件是最佳选择(p.e.XML)
提前谢谢 是的,可以这样做,配置文件类型的最佳选择是XML。 例如,您可以编写web服务器访问的配置文件,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<parameters>
<parameter name="webserverurl" value="http://deviis.myCompany.net/release/" />
<parameter name="webserveruser" value="administrator" />
<parameter name="webserverpassword" value="myPassword" />
</parameters>
<XmlPeek Namespaces="<Namespace Prefix='myNamespace' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/>" XmlInputPath="..\AppConfig\appconfig.xml" Query="/parameters/parameter[@name='webserverurl']/@value">
<Output TaskParameter="Result" PropertyName="webserverurlResult" />
</XmlPeek>
<CreateProperty Value="$(DefineConstants);WebServerUrl=$(webserverurlResult)">
<Output TaskParameter="Value" PropertyName="DefineConstants" />
</CreateProperty>
UrlWebapi = Bootstrapper.Engine.StringVariables["WebServerUrl"];
在这种情况下,UrlWebapi是字符串类型的属性。
我希望这有帮助
<XmlPeek Namespaces="<Namespace Prefix='myNamespace' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/>" XmlInputPath="..\AppConfig\appconfig.xml" Query="/parameters/parameter[@name='webserverurl']/@value">
<Output TaskParameter="Result" PropertyName="webserverurlResult" />
</XmlPeek>
<CreateProperty Value="$(DefineConstants);WebServerUrl=$(webserverurlResult)">
<Output TaskParameter="Value" PropertyName="DefineConstants" />
</CreateProperty>
UrlWebapi = Bootstrapper.Engine.StringVariables["WebServerUrl"];