对于Visual Studio 2010基于Web的应用程序,我们具有Config Transformation功能,通过该功能,我们可以为不同的环境维护多个配置文件.但是,对于Windows Services/WinForms或控制台应用程序,App.Config文件无法使用相同的功能.
这里提供了一种解决方法:将XDT魔术应用于App.Config.
然而,它并不简单,需要许多步骤.有没有更简单的方法来实现相同的app.config文件?
app-config .net-4.0 visual-studio web-config-transform slowcheetah
在.NET MVC 3.0应用程序中,我有以下配置appSettings
:
<appSettings>
<add key="SMTPHost" value="mail.domain.com"/>
<add key="SMTPUsername" value="user@gmail.com"/>
<add key="SMTPPort" value="25"/>
<add key="SMTPPwd" value="mypassword"/>
<add key="EmailFrom" value="notific@gmail.com"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
为了调试,我定义了以下配置转换:
<appSettings>
<add key="SMTPPort" value="58" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
我在调试模式下运行应用程序,但我的SMTP端口仍然从web.config
,而不是web.Debug.config
.
任何人都可以建议这种配置可能出错吗?
asp.net asp.net-mvc web-config web-config-transform slowcheetah
在我的解决方案中将Slow Cheeath(v.2.5.10.3)安装到两个项目之后,我收到以下错误:
"The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users
\User\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll. Could
not load file or assembly 'file:///C:\Users\User\AppData\Local\Microsoft\MSBuild
\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot
find the file specified. Confirm that the <UsingTask> declaration is correct, that the
assembly and all its dependencies are available, and that the task contains a public
class that implements Microsoft.Build.Framework.ITask. ISA.IMPD.FalseAlarm.Web.Portal"
Run Code Online (Sandbox Code Playgroud)
我已完全删除了两个项目(与Slow Cheetah一起),重新安装了两个项目(以及Slow Cheetah),并重建解决方案无济于事.任何人都可以帮助解决这类错误吗?
dependencies assembly-resolution nuget-package slowcheetah visual-studio-2012
我有一些看起来像这样的XML:
<?xml version="1.0" encoding="utf-8"?>
<XmlConfig instancetype="XmlConfig, Processing, Version=1.0.0.0, Culture=neutral">
<item>
<key>IsTestEnvironment</key>
<value>True</value>
<encrypted>False</encrypted>
</item>
<item>
<key>HlrFtpPutDir</key>
<value>C:\DevPath1</value>
<encrypted>False</encrypted>
</item>
<item>
<key>HlrFtpPutCopyDir</key>
<value>C:\DevPath2</value>
<encrypted>False</encrypted>
</item>
....
</Provisioning.Lib.Processing.XmlConfig>
Run Code Online (Sandbox Code Playgroud)
在TeamCity中,我有许多系统属性:
system.HlrFtpPutDir H:\ReleasePath1
system.HlrFtpPutCopyDir H:\ReleasePath2
Run Code Online (Sandbox Code Playgroud)
我可以用什么样的MsBuild魔法将这些值推送到我的XML文件中?总共有20个左右的项目.
我有一个项目,我试图使用SlowCheetah.我已经在我的构建配置中创建了我的配置文件(Test.web.config)和我想要使用的所有转换(Debug_Mock.config,Debug_SQL.config,Release)我有一个后期构建事件应该复制转换后的文件进入另一个目录但找不到该文件
(错误xcopy退出代码4)
SlowCheetah似乎没有像我期望的那样转换文件并将其放在输出目录(bin文件夹)中.有没有人有任何想法,为什么它没有发生,也许在某处设置?
仅供参考:此过程适用于具有相同项目的另一台计算机.至于我可以告诉同样的设置.但我可能没有找到正确的地方.
xml config-transformation slowcheetah xdt-transform web.config-transform
我非常喜欢在Visual Studio 2010中添加web.config转换.另请参阅Scott Hanselman最近在MIX2011上的演讲.
糟糕的是,这个功能(至少看起来)只能用于Web项目.
在我们的解决方案中,我们有几个Windows服务,它们根据部署的环境连接到不同的数据库.
有没有人想出一个实现类似'app.config转换'功能的漂亮,整洁的方法?
注意:我们正在使用TFS 2010以持续集成的方式构建我们的解决方案.
我有一个主Web.config
文件,下面有一个Web.Test.config
,Web.Development.Config
等等.
当我在Test config上通过SlowCheetah预览转换时,它似乎正确地转换了值.
当我将构建环境从开发切换到测试并尝试调试应用程序时,应用程序在主Web.config
文件中的任何值下运行(即它不会转换任何内容).
如何使构建环境在调试时选择正确的配置而不是总是使用基本Web.config
文件?这可能吗?
我是新的VS 2010 Web.config转换的粉丝.我将此功能用于部署目的,并想知道是否可以将它们用于调试.
我想在IDE中使用它们:我想创建不同的构建配置(使用链接的转换配置); 选择其中之一; 在IDE中启动Web站点并以这种方式调试不同的配置.
asp.net configuration web-config visual-studio-2010 slowcheetah
我认为这是一个简单的解决方案,因为我没有看到任何关于其他人有这个问题的帖子.我正在使用VS2012,我使用nuget软件包安装程序将slowcheetah 2.5.10.3添加到项目中.
我尝试打开一个新的控制台应用程序以及一个单元测试项目,但是我无法在我的App.config中"添加转换".上下文菜单中的选项不存在...
app-config config-transformation slowcheetah visual-studio-2012
我正在使用Web Deploy打包和部署我的产品的网站.特别是,我在我的解决方案中有两个不同的项目,我使用此方法进行部署.
我在解决方案(Windows服务)中有第三个项目,也需要在Web服务器上安装.
我知道我可以编写自定义清单(对dirPath
,filePath
和runCommand
供应商),并直接调用MsDeploy部署它.但是,如果可能的话,我想利用现有的MsBuild任务打包我的服务.
我看到可以通过msbuild目标对清单文件进行一些自定义:
http://social.msdn.microsoft.com/Forums/en/msbuild/thread/1044058c-f762-456b-8a68-b0863027ce47
特别是通过使用该MsDeploySourceManifest
项目.
通过适当的.targets文件戳后,它看起来像要么contentPath
或者iisApp
如果我使用将得到追加到我的清单Package
的目标.理想情况下,我只想复制程序集(或目录),可能设置ACL,并在服务上执行installutil.exe.
是否可以Package
通过编辑我的csproj文件来完全自定义目标生成的清单?
如果没有,是否有一种简单的方法可以构建一个新的目标来实现相同的目标Package
,但是允许我吐出一个完全自定义的清单?
slowcheetah ×10
app-config ×3
asp.net ×2
msbuild ×2
web-config ×2
xml ×2
.net-4.0 ×1
asp.net-mvc ×1
c# ×1
dependencies ×1
deployment ×1
manifest ×1
msdeploy ×1
teamcity ×1