决定允许ASP.NET Web应用程序允许的工作进程数的最佳实践是什么?
在我管理的一台服务器上,创建一个新的AppPool默认为10(最大)工作进程.其他人建议正常设置是一个.
多个工作流程解决了什么问题,决定多少工作的技术是什么?
我在TeamCity CI构建服务器上遇到问题,在编译期间我收到以下错误:
C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2342,9):错误MSB3086:任务找不到"AL.exe"使用SdkToolsPath""或注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".确保已设置SdkToolsPath,并且该工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK
我在一年前发现类似的报告,当时人们正在升级到.NET 3.5,例如这个.在这种情况下,安装最新的SDK解决了这个问题,但是我已经在构建服务器上安装了最新的SDK(适用于Windows 7和.NET Framework 4的Microsoft Windows SDK).MSBuild工具都在服务器上,位于一个名为的文件夹中
C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319
和AL.exe存在于
C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0工具
但是,错误消息中提到的注册表项不存在.因此,似乎MSBuild的安装/配置有问题.此错误仅发生在具有嵌入式资源的项目中,这些项目需要AL.exe.
在C#专门工作了大约十年后,我才开始从事一些Java工作; 我使用IntelliJ作为我的IDE.我找不到NuGet for Java的等价物.Java开发人员如何重用第三方代码?NuGet在.NET中为我解决了很多问题,我无法相信没有直接的等价物......?
当我创建一个WiX项目并尝试使用平台设置为'x64'来构建它时,我的构建输出中出现错误,如下所示:
------ Build started: Project: MyProject, Configuration: Release x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project. Please check to make sure that you have specified a valid Configuration/Platform combination. Configuration='Release' Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.
------ Build started: Project: MyProject, Configuration: Debug x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project. Please check to make sure that you have specified a …
Run Code Online (Sandbox Code Playgroud) 发现(无法访问源项目).NET程序集DLL是否编译为"x86","x64"或"任何CPU"的最简单方法是什么?
更新:命令行实用程序足以满足我的直接需求,但仅仅是为了完整性,如果有人想告诉我如何以编程方式执行它,那么这也是有意义的,我敢肯定.
大多数subversion工具使用/ trunk,/ branches和/ tags创建默认存储库布局.该文档还建议不要为每个项目使用单独的存储库,以便可以更轻松地共享代码.
根据该建议,我得到了一个具有以下布局的存储库:
/trunk /Project1 /Project2 /branches /Project1 /Project2 /tags /Project1 /Project2
等等,你明白了.随着时间的推移,我发现这个结构有点笨拙,我发现对建议有另一种解释,例如:
/Project1 /trunk /branches /tags /Project2 /trunk /branches /tags
那么,人们使用哪种布局,为什么?或者 - 还有另一种方法可以做我完全错过的事情吗?
我有一个TeamCity构建配置,直到最近一直工作正常.突然间,队列中存在一个构建,表示它与任何代理都不兼容.给出的理由是:
隐式要求:在参数:BuildFormatSpecification中定义的teamcity.build.branch
我的BuildFormatSpecification参数定义如下:
%MajorVersion%%MinorVersion%%PatchVersion% - .%teamcity.build.branch%
反过来,它在Build Number Format字段中与构建计数器一起使用,如下所示:
%BuildFormatSpecification%.%sharedBuildNumber.id4%
这个想法是构建号出现像"1.0.0-develop.22",包括正在构建的Git分支.这遵循语义版本控制的规则.这个方案对我来说在很多项目中都有用,但突然之间这个版本被卡住了,我无法弄清楚原因.
有任何想法吗?
我需要了解ASP.NET会话状态,因为它适用于IIS 7和ASP.net 3.5.
如果应用程序配置为使用进程内会话状态,那么如果有多个工作进程,那么它是否正常工作?换句话说,工作进程是否共享会话状态?
IIS 7的默认配置是使用进程内会话状态并分配最多10个工作进程.那么这个默认配置应该可行.我正在与一家公司打交道,该公司已经制作了一个有一些问题的ASP.NET MVC网络应用程序,他们指责服务器环境.声称是因为我使用的是10个工作进程的默认设置,即打破了会话状态.我需要知道这是否真的是一个准确的主张.我从来不知道ASP.NET应用程序不能使用默认配置,所以我有点困惑,需要明确这一点.
有没有人找到一种方法使ADO.NET实体框架与OLE DB或ODBC数据源一起使用?具体来说,我需要使用Access数据库,由于各种原因无法升级到SQL.
这个MSDN页面说:
.NET Framework包括用于直接访问Microsoft SQL Server的ADO.NET提供程序(包括实体框架支持),以及使用ODBC和OLE DB驱动程序间接访问其他数据库(请参阅.NET Framework数据提供程序).对于直接访问其他数据库,可以使用许多第三方提供程序,如下所示.
"间接访问其他数据库"的提法令人着迷,但我承认,我对数据访问技术的所有不同名称毫无希望地感到困惑.
我想要:
IQueryable<T>
但没有第三方依赖(好吧JetBrains.Annotations
).在Visual Studio 2015.2中创建我的类库项目时,我找到了该Class Library (.NET Core)
模板
用于将类库创建为可以针对任何平台的NuGet包的项目模板
任何平台!很棒...但我无法让它发挥作用.经过大量的摆弄,我目前有以下内容project.json
(我现在可能完全打破了它):
{
"title": "My Really Useful Class Library",
"copyright": "Copyright © 2015-16 Tigra Astronomy, all rights reserved",
"description": "Really neat stuff",
"language": "en-GB",
"version": "1.0.0-*",
"dependencies": {
"JetBrains.Annotations": "10.1.4",
},
"frameworks": {
"netstandard1.5": {
"imports": "dnxcore50",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
"System.Linq.Expressions": "4.0.11-rc2-24027"
}
}
"net46": {
"frameworkAssemblies": {
"System.Collections": "4.0.*"
},
"dependencies": {}
}
},
"buildOptions": {
"xmlDoc": …
Run Code Online (Sandbox Code Playgroud)