我的环境是 Visual Studio 2005。我的具体问题是我想定义TRACE.
system.codedom由于在 web.config 的元素中定义了它,我有一个网站项目,它在用完 ASP.NET 开发服务器时发送跟踪消息。
当我部署到 IIS 时,我是通过 Web 部署项目进行的。所以网站是预编译的。自然,这些条目在编译的网站上毫无用处。
我的问题是如何TRACE在 web 部署项目中定义?
我的环境是 Visual Studio 2005。我的具体问题是我想定义TRACE.
system.codedom由于在 web.config 的元素中定义了它,我有一个网站项目,它在用完 ASP.NET 开发服务器时发送跟踪消息。
当我部署到 IIS 时,我是通过 Web 部署项目进行的。所以网站是预编译的。自然,这些条目在编译的网站上毫无用处。
我的问题是如何TRACE在 web 部署项目中定义?
据我所知,Visual Studio IDE 不允许您在 Web 部署项目中设置编译时间常数。但是,由于 .wdproj 文件只是一个 msbuild 文件,因此您可以使用文本编辑器对其进行编辑。您需要向这些部分添加一个元素,如所提供链接中的屏幕截图所示。
我无法更改图像的链接,因为新用户显然无法添加图像: 文本编辑器中 .wdproj 的注释截图 http://img140.imageshack.us/img140/1719/deploymentproject.png
C# 中没有与#defines 等效的功能。也就是说,听起来您想使用条件跟踪,这很容易实现。如果您在整个项目中都有诊断代码但想要定义它,请使用内置的跟踪功能,例如
System.Diagnostics.Trace.WriteLine("一些调试输出");
然后,在您的 webconfig 中,您可以使用
<configuration>
<system.web>
<trace enabled="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
更多信息在这里