我继承了一个非常大的VS2012网站项目(不是Web应用程序),我正在尝试自动化它的部署.项目中有大量的循环引用,所以要使用aspnet_compiler.exe进行预编译我必须打开fixednames.问题是它导致我的四核,16gb ram,ssd开发者机器上的构建需要大约20分钟.之前的开发人员不必处理这个问题,因为他只是将整个源代码复制到生产Web服务器上.
所以在我解决循环引用问题之前,我想至少使用msdeploy自动部署项目.我可以使用visual studio中的发布配置文件,它完全符合我的要求:
我无法弄清楚我的生活是如何让MSBuild.exe做同样的事情!
MSBuild.exe WebProject.vs2012.sln /m /T:Build
/p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy
Run Code Online (Sandbox Code Playgroud)
上面的命令仍然尝试执行aspnet_compiler,这不是我想要的.发布配置文件说不应该预编译...但在日志中我看到它正在执行它.
那么:如何在不预编译的情况下使用msbuild部署网站项目?
asp.net msbuild vs-web-site-project msdeploy visual-studio-2012
我在git-flow脚本上观看了一些视频,其中一个术语是"后合并" - 例如,将修补程序合并到master中,然后将其合并到develop中.
我假设返回merge是一个概念而不是本机git命令.什么确切的命令包含后合并操作?
我尝试在我的MVC C#项目的Razor视图中引用System.Device.它抱怨说,即使我把它添加到项目中,也没有引用.我没有在我的GAC中组装,并且为了测试我在我的global.asax.cs文件中添加了下面的虚拟行(并且在启用了多个调试标志的情况下编译,我不认为它已经被优化了).
new System.Device.Location.GeoCoordinate();
Run Code Online (Sandbox Code Playgroud)
以及我控制器动作中的这一行:
System.Diagnostics.Debug.WriteLine(System.Device.Location.GeoCoordinate.Unknown.IsUnknown);
Run Code Online (Sandbox Code Playgroud)
这仍然没有做到.找到这个解决方案我检查了我的GAC,但它不存在(这是有道理的,但很好检查).找到此解决方案后,我将引用标记为Copy Local,问题就消失了.
为什么我需要将我的引用标记为Copy Local,即使我明确地调用了库?
我有一个包含 ASP.NET 网站的解决方案文件。
当我使用 .NET 4.0 Beta 2 构建解决方案时
"c:\WINDOWS\Microsoft.NET\Framework\v4.0.21006\MSBuild.exe" d:\MyPath\MySolution.sln
一切正常,没有错误。然后我尝试使用 CruiseControl .NET 任务(由服务运行的 msbuild-script)构建相同的解决方案,相同的解决方案失败了:
D:\MyPath\MyWebSite.metaproj (,): errorMSB4025: 无法加载项目文件。找不到文件“D:\MyPath\MyWebSite.metaproj”。
当然,没有这样的文件。我猜 *.metaproj 是一个类似 .csproj 的 msbuild 文件,它是为网站动态生成的...
但我不知道如何修复错误......我试图谷歌元数据文件但没有运气。我确实尝试手动制作文件,我插入了一个带有 <Task Name="Rebuild"> 的 <Project> 并且编译没有引发任何错误,但我猜该站点没有编译。
同一台机器有 .NET 3.5 和 .NET 4.0 项目以及两个框架的环境变量。
cruisecontrol.net msbuild vs-web-site-project asp.net-4.0 web
我在Powershell中遇到了一个有趣的问题,并且无法找到解决方案.当我谷歌(并找到像这篇文章的东西)时,没有任何涉及我正在尝试做的事情,所以我想我会在这里发布问题.
问题与外部数组长度为1的多维数组有关.似乎Powershell非常坚持像@( @('A') )变为扁平化阵列一样@( 'A' ).这是第一个片段(提示符是>,顺便说一句):
> $a = @( @( 'Test' ) )
> $a.gettype().isarray
True
> $a[0].gettype().isarray
False
Run Code Online (Sandbox Code Playgroud)
所以,我希望$a[0].gettype().isarray是真的,所以我可以将值索引为$a[0][0](真实场景是在循环内处理动态数组,我想得到值$a[$i][$j],但如果内部项是不被识别为数组但作为字符串(在我的情况下),您开始索引字符串的字符,如在$a[0][0] -eq 'T').
我有几个很长的代码示例,所以我最后发布了它们.并且,作为参考,这是在安装了PSv2和PSCX的Windows 7旗舰版上.
考虑代码示例1:我使用+ =运算符手动构建一个简单的数组.中间阵列$w是扁平的,因此不会正确地添加到最终阵列中.我已经在网上找到类似问题的解决方案,基本上是在内部数组之前插入一个逗号来强制外部数组不会变平,这确实有效,但同样,我正在寻找一种可以在循环内构建数组的解决方案(一个锯齿状的数组数组,处理一个CSS文件),所以如果我将前导逗号添加到单个元素数组(实现为中间数组$y),我想对其他数组(如$z)做同样的事情,但这会产生负面影响如何$z添加到最终数组.
现在考虑代码示例2:这更接近我遇到的实际问题.当从函数返回具有一个元素的多维数组时,它将被展平.它离开函数之前是正确的.再一次,这些都是例子,我真的试图处理一个文件,而不必知道该函数是否会回来@( @( 'color', 'black') )或与@( @( 'color', 'black'), @( 'background-color', 'white') )
有没有人遇到这个,有没有人解决这个问题?我知道我可以实例化框架对象,并且我假设如果我创建一个对象[],列表<>或其他类似的东西,一切都会好的,但我一直在处理这个问题.肯定似乎必须有一个正确的方法来做到这一点(无需实例化真正的框架对象).
function Display($x, [int]$indent, [string]$title)
{
if($title -ne '') { write-host …Run Code Online (Sandbox Code Playgroud) 我正在调试两件事,发现当执行操作时:
Server.TransferRequest(url);
return new EmptyResult();
Run Code Online (Sandbox Code Playgroud)
我Application_Error会触发并捕获异常“SessionStateTempDataProvider 类需要启用会话状态”。
(我确实启用了会话状态,特别是 StateServer,为了讨论起见,我们假设我不需要将此请求的更改提交回会话)
我想控制如何记录此场景。显然我可以检测异常类型和消息文本,但如果我不想在请求被.TransferRequest“d”(或.Transfer“d”)时进行特殊日志记录,我该怎么做?
我已经检查过了Response.IsRequestBeingRedirected——确实如此false。
我基本上喜欢在Powershell中使用反射,在动态找到我想使用标准powershell命令调用的方法之后,我最终得到了一个MemberDefinition对象,并没有太多关于如何调用它的线索.我不能肯定,所以如果你有经验,你可以说不要这样做.我知道我可以进入Assembly命名空间,但不知道我是否可以这样做:
$method = $ie | get-member -type method | ? { $_.name -eq 'span' }
invoke-member $ie $method
Run Code Online (Sandbox Code Playgroud)
该$method变量的类型为Microsoft.PowerShell.Commands.MemberDefinition,这是否可能?
谢谢,马修
所以我来自一个集中的VCS背景,并试图确定我们在Git(新公司,年轻代码库)的工作流程.我无法找到一个简单而详细的答案的一个问题是远程分支上的rebase究竟是做什么的.据我所知,它重写了历史,一般应仅限于本地分支机构.
我目前正在尝试审核的工作流涉及一个远程协作分支,每个开发人员"拥有"一个用于共享代码的目的.(在可预见的未来,有2个开发人员和最多3个开发人员,每个项目和功能请求的功能分支似乎过多,而且开销比获得的收益更多.)
然后我遇到了这个答案并尝试了它并且它完成了我想要的东西 - 一个开发人员承诺并经常推送到他自己的合作分支,当他知道什么被批准发布到分期他可以远程变换(压扁和可能在合并开发之前重组.
输入原始问题 - 如果远程分支是出于协作目的,其他人迟早会被拉出来.如果流程/培训问题是没有"访客开发者"对该协作分支的提交,那么分支所有者实际上会对该远程分支进行重新绑定?
.net ×2
asp.net ×2
asp.net-mvc ×2
c# ×2
git ×2
msbuild ×2
powershell ×2
arrays ×1
asp.net-4.0 ×1
git-flow ×1
git-rebase ×1
msdeploy ×1
reflection ×1
watin ×1
web ×1