小编Jam*_*mes的帖子

使用XmlUpdate从程序集设置版本信息

使用MSBuild和MSBuild社区任务我正在尝试做一些非常简单的事情:

  1. 从程序集中获取版本信息.
  2. 使用该版本信息更新.nuspec文件.

我的MSBuild目标如下所示:

<Target Name="Package">
  <GetAssemblyIdentity AssemblyFiles="%(PackageDir.FullPath)\MyAssembly.dll">
    <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity" />
  </GetAssemblyIdentity>
  <XmlUpdate 
     Prefix="nu"
     Namespace="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"
     XmlFileName="%(PackageDir.FullPath)\MyAssembly.nuspec"
     XPath="/nu:package/nu:metadata/nu:version"
     Value="%(AssemblyIdentity.Version)" />
</Target>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是NuGetPack任务运行TWICE:第一次,程序集版本丢失但路径正确,第二次程序集版本正确但路径丢失!

这是输出:

Updating Xml Document "D:\MyProject\package\MyAssembly.nuspec".
    1 node(s) selected for update.
  XmlUpdate Wrote: "".
  Updating Xml Document "\MyAssembly.nuspec".
D:\MyProject\MyProject.build(64,9): error : Could not find file
 'D:\MyAssembly.nuspec'.
Done Building Project "D:\MyProject\MyProject.build" (Package target(s)
) -- FAILED.
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用NuGetPack任务,但得到了类似的结果.非常感谢帮助!

msbuild msbuildcommunitytasks

9
推荐指数
1
解决办法
1915
查看次数

如何编码URI以安全地存储在TableServiceEntity的RowKey中?

我真的非常希望将URI存储为Azure表存储中的RowKey值.根据文档,RowKeys不能包含URI中常见的字符(/,\,#,?).

解决方案似乎很简单:只需编码URI即可.但这不起作用.无论出于何种原因,可以插入包含序列 %2f(正斜杠的编码值)的任何值,但不会查询,即使'%2f'不包含任何禁用字符.

好的,那么base64编码怎么样?不.它产生偶尔的正斜杠字符,这是不允许的.

那么有一种编码字符串(URI)的方法可以可靠地存储为Azure表中的RowKey吗?优选地,但不是必须地,人类可读的东西.

url uri azure-storage azure-table-storage

7
推荐指数
1
解决办法
910
查看次数