我有一个XML字符串:
<?xml version='1.0'?><response><error code='1'> Success</error></response>
Run Code Online (Sandbox Code Playgroud)
一个元素与另一个元素之间没有线条,因此很难阅读.我想要一个格式化上述字符串的函数:
<?xml version='1.0'?>
<response>
<error code='1'> Success</error>
</response>
Run Code Online (Sandbox Code Playgroud)
如果不依靠自己手动编写格式函数,是否有任何我可以随意使用的.Net库或代码片段?
我偶然发现了CInt的一个问题并将double转换为整数.
问题如下:
CInt(10.5) 'Result is 10
CInt(10.51) 'Result it 11, but I expected 10...
Run Code Online (Sandbox Code Playgroud)
我习惯了C#风格转换,其中(int) 10.51
10.
正如在关于Integer.Parse和CInt的问题中指出的那样,结果只是以某种方式舍入.
但是,我只需要获得整数部分并扔掉小数部分.如何在VB.NET中实现这种类型的转换?经过一些研究后,我发现我可以使用该Fix()
功能来完成这个技巧,但它是最好的选择吗?
我知道如何使用这些说明恢复到文件夹的特定修订:
但是,我删除了整个文件夹,并希望在不恢复存储库其余部分的情况下返回该文件夹.
我尝试重新创建文件夹然后合并更改,但svn知道我的技巧,并意识到它是一个新的文件夹.
我该怎么做?
我正面临一个问题,MSBuild
我无法自己克服它.因此,我依靠社区的智慧.
我遇到麻烦的真实情况
我有一个soluiton文件,其中包含几个与同一解决方案中的其他项目相关的项目.我想将一个自定义目标附加到项目的csproj文件之一,并从命令行构建它.它允许我为该项目制作所有必要的输出二进制文件,以便在构建自定义目标期间进行进一步处理.但最主要的是我无法弄清楚如何去做,谷歌搜索也无济于事.
简单化
为了简单起见,我决定创建一个新的C#控制台项目,在项目文件中添加一个简单的自定义目标,并尝试进行构建.仍然没有成功!这是我到目前为止所做的:
使用默认控制台项目coreapp创建了一个解决方案应用程序.这给了我至少两个文件:
修改了coreapp.csproj,并在Project标记内添加了我的自定义目标
<Target Name="SampleTarget">
<Message Text="This is a SampleTarget" />
</Target>
Run Code Online (Sandbox Code Playgroud)在命令行上运行以下命令
%windir%\Microsoft.NET\framework\v3.5\msbuild.exe app.sln /t:coreapp:SampleTarget
甚至
%windir%\Microsoft.NET\framework\v3.5\msbuild.exe app.sln /t:coreapp.csproj:SampleTarget
结果
没有运气,面对错误
MSB4057: The target "coreapp.csproj:SampleTarget" does not exist in the project.
我怀疑这MSBuild
与我想要的思想根本不同......
另外,我还尝试在同一命令行上设置环境变量MSBuildEmitSolution = 1以强制msbuild转储它在处理解决方案时创建的临时解决方案文件.实际上,在这个文件中没有这样的目标.但是我想这不是原因,因为我要求msbuild构建coreapp.proj,其中目标SampleTarget确实存在.
问题是如何使用解决方案文件在这个简化的场景中构建SampleTarget,因为它可能包含包含此SampleTarget目标的项目的依赖项?
我很乐意为进一步调查提供任何帮助或帮助!
我偶然发现了一个问题,无法自己弄明白.希望有人能帮我解决它.
所以,我在SQL Server 2005数据库中有一个简单的存储过程
CREATE PROCEDURE spTest
@pin varchar(128)
AS
BEGIN
SELECT @Pin as Param
END
Run Code Online (Sandbox Code Playgroud)
和一个带有SqlDataSource
和GridView
应用程序中的控件的asp.net页面(VS2008)
<asp:SqlDataSource
ID="sds2"
runat="server"
ConnectionString="..."
SelectCommand="spTest"
SelectCommandType="StoredProcedure"
>
<SelectParameters>
<asp:QueryStringParameter Name="pin" QueryStringField="pin" DbType="String"/>
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="gv" runat="server" DataSourceID="sds2"></asp:GridView>
Run Code Online (Sandbox Code Playgroud)
如您所见,代码很简单.不过,如果我不打扰在url上指定pin(.../Default.aspx
而不是.../Default.aspx?pin=somevalue
)或指定一个空行(.../Default.aspx?pin=
),则不会对存储过程进行任何调用(我使用SQL Server Profiler进行检查).
而且,如果我用QueryStringParameter
简单的替换
<asp:Parameter Name="pin" DbType="String" />
Run Code Online (Sandbox Code Playgroud)
并且不指出DefaultValue值,重复该情况并且不对存储过程进行任何调用.这种行为的原因是什么?
我是asp.net的新手,可能会忽略一些东西,但我甚至尝试以编程方式而不是声明性地在代码隐藏文件中执行相同操作,结果是相同的.我唯一能发现的是,在这种情况下,一个Selecting
事件SqlDataSource
被触发,但事实Selected
并非如此.也许会出现某种错误?
无论如何,任何形式的帮助将不胜感激.
.net ×1
asp.net ×1
c# ×1
c#-to-vb.net ×1
formatting ×1
msbuild ×1
msbuild-task ×1
recovery ×1
repository ×1
rounding ×1
sql ×1
svn ×1
vb.net ×1
xml ×1