设置一个简单的类库来构建和发布到VSTS自己的feed,我在NuGet包运行时看到这个错误.
无法在BUILD_BUILDNUMBER中找到版本号数据
我勾选了"使用内部版本编号到版本包"选项.预期的VSTS才能正常工作.
不幸的是,我正在尝试使用.NET中的Oracle,这就像回到1997年.正确解释事情是一个弱点的迹象,注册表和环境变量似乎具有特色.
所以这是我有多远.
我在Oracle.com上填写了一份关于我生活的大表,然后下载了
ODBC Windows 64位实例客户端,11.2.0.3.0并将其解压缩到一个文件夹中. 基本的Windows 64位Instant Client,11.2.0.3.0并将其解压缩到与上面相同的文件夹中.
我运行了安装.exe(没有MSI,记得这是1997).
我添加了一个TNS_NAMES环境变量,指向网络共享上的公司TNSNames.ora文件,并在控制面板中设置一个快速DSN并运行测试 - 它工作正常!
然后我下载了最新的ODP.NET for .NET 4.0的XCOPY版本,并将其复制到我的源代码控制工作区下的Dependencies文件夹中.
我从我的项目添加了一个引用到Dependencies\odp.net4\odp.net\bin\4\Oracle.DataAccess.dll
我读过,我需要让管理ODP.NET东西,知道在哪里可以找到其非托管Oracle库,我猜是依赖\ odp.net4\BIN\OraOps11w.dll但它可能是一些其他的Oracle二进制文件某处?
现在我正在设置一个名为DllPath的配置文件参数.遗憾的是,Oracle文档似乎没有意识到.NET配置文件需要在configSections部分中连接它们的部分.
这是配置文件部分.
<oracle.dataaccess.client>
<add key="DllPath" value="D:\Trunk\Dependencies\odp.net4\bin" />
</oracle.dataaccess.client>
Run Code Online (Sandbox Code Playgroud)
configSection中有什么内容?我在这上面找到的几个线程给出了一个例子,然后说"我不知道应该是什么类型",这是主要的一点!
任何人都可以建议我吗?有没有人知道从.NET查询Oracle视图的傻瓜指南的链接?
我能在1997年做些什么来阻止自己在2012年使用Oracle吗?
UPDATE
只是一个快速更新.我已将OraOps11w.dll复制到我的输出bin文件夹中,并删除了我之前添加的任何web.config文件更改.
我现在得到以下错误,我正在研究.
无法加载文件或程序集"Oracle.DataAccess"或其依赖项之一.尝试加载格式不正确的程序.
其他一些论坛说说在GAC,这我很希望避免注册Oracle.DataAccess.dll - 我无法看到其中的差别是什么呢,但我给它一个去.
更新2
在GAC中注册Oracle.DataAccess.dll库没有任何区别,我已取消注册.
工作周的结束在我身上,我要赶火车,但是我在这里通过电子邮件发送的另一开发团队,并希望他们并肩作战之前(而不是用于夜间提取其他人一样).
更新3
今天早上我下载并安装了64位版本的IIS Express 8.0 RC.VS2010不支持64位版本,因此需要从命令行运行.这很简单,通过查看任务管理器,我能够看到VS用于iisexpress.exe*32的命令行.
不幸的是,当浏览到由64位IIS Express托管的我的站点时,我收到此错误.
处理程序"ExtensionlessUrl-Integrated-4.0"在其模块列表中有一个错误的模块"ManagedPipelineHandler"
这个问题在这个问题上太过分了,所以我将尝试使用32位版本的ODP.NET.
更新4
我下载了32位版本的完整安装,但是当我看到Oracle Universal Installer时我感到很害怕.与我珍贵的开发盒相信它看起来太过90年了.所以我使用的是32位'XCopy'客户端,这让我可以打开我网站的主页,因此引用正在运行.感谢那些暗示架构不匹配32/64问题的人.
现在我在实例化一个新的OracleConnection时正在研究这个错误.
提供程序与Oracle客户端版本不兼容
更新5我想我已经做到了.
所以我下载了32位最新的11g"Instant Client",并将它放在我的\ Dependencies文件夹中,用于解决方案中继代码库.我将此文件夹添加到%PATH%系统环境变量中,并将OraOps11w.dll文件放入其中.
最后,_oracleConnection = new OracleConnection(connectionString)不会抛出!现在我需要确保在我部署生产时我在桌子上放了一瓶Laphroaig.
因此,回顾一下,对于Windows 7,64上的IIS Express 7.5(这是一个32位进程):
将32位11g"Instant Client"下载并解压缩到某个文件夹,然后将此位置添加到PATH中.Oci.dll是主要的Oracle客户端非托管库.
下载并将32位ODP.NET解压缩到某个文件夹.
将OraOps11w.dll复制到Instant …
任何人都可以给我一个示例,如果我想创建两个工件dist和source我在使用sln 2008构建运行器并使用默认bin/Release构建我的项目,那么为构建配置定义的Artifact路径设置会是什么样子?
**/Source/Code/MyProject/bin/Release/*.* => dist **/*.* => source
我得到两个神器根dist和源但在dist下我得到了我不想要的整个目录结构(Source/Code/MyProject/bin/Release),并且在源代码下我得到了整个东西以及obj和bin/Release我不想.
你能就正确的方法提出一些建议吗?
我是否需要更改我正在构建的所有项目的目标位置才能使此功能正常工作?
我有一个MSBuild任务执行(除其他外)调用xcopy.我发现,当我从批处理文件运行MSBuild任务时,对xcopy的这个调用正确执行,并且无法执行或生成任何输出,这将允许我知道当从另一个调用相同的批处理文件时发生了什么使用System.Diagnostics.Process的C#应用程序.
两个进程都启动时具有或多或少相同的结构:
waitProc.StartInfo.Arguments = "/C [executable]";
waitProc.StartInfo.FileName = "cmd.exe";
waitProc.StartInfo.UseShellExecute = false;
Run Code Online (Sandbox Code Playgroud)
此外,通过在xcopy命令中将"UseShellExecute"从false更改为true,我可以在两个用例中成功,但是命令无法在第三个用例中运行.第三个用例是我们的自动构建系统,它是一个直接调用msbuild的Windows服务.在我们的构建机器上发生故障的情况下,copy命令无限期挂起,我相信,因为System.Diagnostics.Process试图显示一个窗口,而服务没有与它们关联的Windows桌面会话,所以它们不能显示窗口.
我已经尝试使用"CreateNoWindow"属性,我已经尝试将"WindowStyle"设置为"ProcessWindowStyle.Hidden",但这并没有改变构建机器上的行为.
所有这些都说,我真正想知道的是UseShellExecute属性究竟是什么,因为它似乎比MSDN文档建议的要多得多.
谢谢.
我想创建一个任意值的对象,有点像我在C#中如何做到这一点
var anon = new { Name = "Ted", Age = 10 };
Run Code Online (Sandbox Code Playgroud) 在WebApi中,我可以在控制器动作上装饰一个参数,[FromUri]以便将URI的组件'反序列化'(如果愿意的话)放入POCO模型中; 又称模型绑定.
尽管从2.0开始使用MVC,我从未将它用于网站(不知道为什么).它与ASP.NET MVC 5中的相同之处是什么?
除非我需要引用库,否则IDE中似乎无法识别该属性.
我想~/thing/2014/9绑定到下面的模型:
public class WhateverModel
{
public int Year { get; set; }
public int Month { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
谢谢
更新
在另一个问题(上面的链接)中,OP说:
但是,将其切换为普通MVC而不是WebApi,并且默认模型绑定器会崩溃,并且无法绑定嵌套数组中对象的属性
这意味着他正在使用WebApi中的属性.我猜.我没有这些引用,因为我在MVC中,所以(ab)使用WebApi的版本是否可以在MVC中执行此操作?
更新2
在这个问题的答案是:
您需要构建关于MVC模型绑定器命名约定的查询字符串.
此外
[FromUri],示例操作中的属性完全被忽略,因为MVC DefaultModelBinder不知道它
因此,如果他在错误的属性上取得了一些成功,那么我仍然不知道OP在该问题上该做什么或在地球上做什么.
我想我希望得到一个明确的答案,而不是那个问题的泥泞.
在Razor中,有一个奇怪的规则,即只允许在一个块内封闭 HTML if.
看到:
但我有一种情况,我想在某些条件下排除一些外部包裹元素.我不想重复所有内部HTML,这是相当数量的HTML和逻辑.
围绕这个问题的唯一方法是为内部的东西制作另一个部分视图以保持干燥吗?
没有任何其他重新使用这个新的部分,它感觉真的很尴尬,臃肿.我想知道这条规则是Razor的限制还是简单的纳米(烦人)功能.
从2015年1月起应用EnableQueryAttribute在哪里正确/不正确?
该文件链接如下:
说:
[EnableQuery]属性允许客户端使用$ filter,$ sort和$ page等查询选项修改查询.有关更多信息,请参阅支持OData查询选项.
以下链接文件:
http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options
说:
EnableQuerySupport方法为任何返回IQueryable类型的控制器操作全局启用查询选项.
但是这篇关于WebApi 2.2上的OData 4的文档已经把它放在了返回IHttpActionResult的行为上:
[ODataRoutePrefix("Teams")]
public class TeamsEntitySetController : ODataController
{
private readonly LeageContext _leage = new LeageContext();
[EnableQuery]
[ODataRoute]
public IHttpActionResult GetFeed()
{
return Ok(_leage.Teams);
}
[ODataRoute("({id})")]
[EnableQuery]
public IHttpActionResult GetEntity(int id)
{
return Ok(SingleResult.Create<Team>(_leage.Teams.Where(t => t.Id == id)));
}
}
Run Code Online (Sandbox Code Playgroud)
我想疯狂地尝试在OData v4/WebApi 2.2上找到最新,准确和一致的文档.
今天哪个是正确的?
试图await在LINQ查询中使用关键字,我得到这个:
'await'运算符只能用在初始'from'子句的第一个集合表达式中的查询表达式中,或者用在'join'子句的集合表达式中
示例代码:
var data = (from id in ids
let d = await LoadDataAsync(id)
select d);
Run Code Online (Sandbox Code Playgroud)
是不可能等待LINQ查询中的某些内容,还是需要以不同的方式构建它?
有谁知道是否可以在TeamCity中复制VCS Root?进入编辑页面并删除Actions组合的常规技巧不起作用,只有Move作为选项.
c# ×4
asp.net-mvc ×2
.net ×1
artifact ×1
async-await ×1
azure-devops ×1
c#-5.0 ×1
html ×1
linq ×1
msbuild ×1
odata ×1
oracle ×1
powershell ×1
razor ×1
teamcity ×1
teamcity-9.0 ×1
winrt-async ×1